接口测试之Fiddler工具介绍基础篇

Posted 八哥找bug

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了接口测试之Fiddler工具介绍基础篇相关的知识,希望对你有一定的参考价值。


之前咱们聊到了网络抓包三剑客,同时对于测试同学来说,查看各公司招聘需求中赫然写道:“熟练掌握Fiddler抓包工具,并能对抓取的数据包进行分析”。所以对于测试同学来说,掌握Fiddler,是很有必要的。但是很多测试同学,对于Fiddler也只限于会一些最基本的功能,那么接下来我将通过两篇文章带领大家完全掌握Fiddler的强大功能。

 

1.1  Fiddler的基本介绍:

Fiddler是最强大最好用的Web调试工具之一,它能记录所有客户端和服务器的http和https请求,允许你监视,设置断点,甚至修改输入输出数据,Fiddler包含了一个强大的基于时间脚本的子系统,并且能使用.NET语言进行扩展。无论对开发人员或者测试人员来说,Fiddler都是非常有用的工具。


1.2 Fiddler的工作原理

接口测试之Fiddler工具介绍基础篇


2.1Fiddler的基本界面


接口测试之Fiddler工具介绍基础篇 

 对照图片,我们从左往右依次介绍:

【SetComment】:给所有捕获到的网络包添加自己想要的备注,便于识别该网络请求。

【Replay】:再次执行。左键选中某条数据包,点击Replay后可以重新再执行一次该请求。

【X】:清空面板中网络数据包。右侧的倒三角可以根据需要选择不同的选项清空不需要的网络包,便于我们查看。

【Go】:继续执行某个请求数据包。这个主要和后面的篡改数据请求结合使用。具体就是当我们拦截到某个请求数据包后,修改请求数据(比如登录密码)后点击Go,可以达到篡改请求的目的。

【Stream】:流模式。选中该模式,会时时的将服务器返回的数据返回给用户。另外一种是缓冲模式,选中缓冲模式(默认缓冲模式,鼠标点击后即切换为流模式)会等待将服务器响应的所有数据准备好之后再发给用户,我们一般保持默认就好。

【Decode】:帮助用户解压响应后的数据,方便我们查看(有时候我们看到Response中的html是乱码的,这是因为HTML被压缩了,我们可以通过选中Decode去解压缩)。

【Keep:All sessions】:一次记录多少个会话,多余的会话将不会被抓取到。

【Any Process】:拖动该按钮到某个浏览器中,将只监控该浏览器下面的所有请求。

【Find】:查找会话。当我们在进行网络抓包的时候,会有很多无关的请求被抓取到,通过Find的可以快速定位到我们需要的请求包。

【屏幕快照】:这个只是将当前抓取到的数据包情况通过图片的形式保存下来,一般用的不多。

【闹钟定时器】:点击闹钟,开始计时,再次点击停止计时。

【Browser】:可以使我们快速打开一个浏览器。

【ClearCache】:清除所有的缓存资源。

【Text Wizard】:点击Fiddler 工具栏上的TextWizard,  这个工具可以Encode和Decode string。

【Tearoff】:分离面板。关闭后恢复正常。

【Statistics】:使用Statistics页签,用户可以通过选择多个会话来得来这几个会话的总的信息统计,比如多个请求和传输的字节数。选择第一个请求到最后一个请求,可获得整个页面加载所消耗的总体时间。从条形图标中还可以分析出哪些请求耗时最多,从而对页面的访问进行性能优化。

【Inspectors】:监控面板。显示每个网络请求包的数据。


接口测试之Fiddler工具介绍基础篇


【AutoResponder】:请求重定向(有些招聘网站上面提到的mock技术)。可以根据自己想要的规则,模拟请求对应的响应,替换原始资源等。


接口测试之Fiddler工具介绍基础篇

【Composer】:自定义请求。可以利用该该功能做接口测试。输入参数之后,点击后面的Excute即可执行。


接口测试之Fiddler工具介绍基础篇


【QuickExec】:Fiddler的左下角有个命令行工具叫做QuickExec,允许你直接输入命令。

常见的命令有:

help:打开官方的使用页面介绍,所有的命令都会列出来。

cls:清屏,Select: 选择会话的命令

?.png:用来选择png后缀的图片

bpu:截获requests


接口测试之Fiddler工具介绍基础篇

【Capturing】:开启或关闭捕获网路数据包。

【All Processes】:可以进行过滤。比如你现在在进行手机抓包,那么你可以过滤掉所有的来自浏览器的请求(反之也可以),这样便于你查看抓取到的数据包。

【】:这个没有名称,它主要是一个功能的快捷键,就是进行断点的设置。点击一下,箭头朝上,表示在请求到达服务器前设置断点(可以进行数据篡改),再次点击表示在服务器响应之后设置断点(可以进行重定向操作)。

【FiddlerScript】:可以实现Fiddler功能的代码化。后面我们要实现的网络限速就是在这里进行设定。


3.1准备工作之网络代理设置:

能支持HTTP代理的任意程序的数据包都能被Fiddler嗅探到,Fiddler的运行机制就是本机上监听8888端口的HTTP代理。Fiddler启动的时候默认IE的代理设为127.0.0.1:8888,而其他浏览器是需要手动设置的,所以将Firefox的代理改为127.0.0.1:8888就可以监听数据了。

Firefox上通过以下步骤设置代理:

点击:Tool —>Options, 在Options对话框上点击Advanced tab —>network tab —>setting

读者可以自行设置下Chrome浏览器。


3.2准备工作之捕获https设置:

默认下,Fiddler不会捕获HTTPS会话,需要做如下设置,打开Fiddler Tools—> Fiddler Options—>HTTPS tab


接口测试之Fiddler工具介绍基础篇


3.3准备工作之远程代理设置:

    默认情况下,我们是无法捕获其它主机(使用的是电脑1,但是Fiddler安装在电脑2上)的网络请求数据包,需要做如下设置:

Fiddler Tools—> Fiddler Options—>Connections tab 勾选下图中的几个选项即可



至此,关于Fiddler工作面板的所有功能键基本介绍完成,下一篇将围绕这些介绍的这些功能键,来通过作者工作中遇到的实际场景向大家展示Fiddler的强大功能。

八哥找bug全力打造测试圈UI自动化,接口自动化交流平台;开展Python技术分享以及各类优质书籍推荐。关注八哥找bug,咱们一起玩转测试,走向人生巅峰!

八哥找bug

长按二维码,关注八哥找bug



以上是关于接口测试之Fiddler工具介绍基础篇的主要内容,如果未能解决你的问题,请参考以下文章

接口自动化测试之Fiddler的运用

接口测试之Fiddler下Composer介绍

接口测试 - fiddler之接口测试

抓包工具之fiddler实战3-接口测试

主流技术栈的Restful API接口测试实战

API接口自动化测试框架搭建-接口抓包工具fiddler安装配置及使用