一、Fiddler简单介绍
1、Fiddler是一个HTTP协议的调试代理工具,它能够记录所有客户端和服务端的HTTP和HTTPS的请求,即记录并检查所有当前使用的PC和互联网之间的通讯;
2、Fiddler可以设置断点,查看所有进出Fiddler的数据(主要指cookie、html、js、css等文件),且可以修改输入和输出的数据;
3、Fiddler要比其它网络调试器要更加简单,因为它不仅仅暴露了HTTP通讯,还提供了一个用户友好的格式。
二、Fiddler下载安装
1、Fiddler下载
(1)官网下载地址:Download Fiddler Web Debugging Tool for Free by Telerik
(2)如果上面官网中下载安装后,需要破解的话,也可以去我的百度网盘下载,下载地址:
链接:https://pan.baidu.com/s/10oXO0ghpMajLyR81vDDoMQ
提取码:t6ub
2、Fiddler安装
(1)双击已下载的FiddlerSetup.exe安装包,选择“I Agree”
(2)选择你想要的安装路径,也可以默认不用选,点击“Install”
(3)正在安装
(4)安装完成,点击“close”
三、Fiddler基本页面介绍
Fiddler基本页面包括以下几个模块:
1主菜单栏:菜单中几乎可以启动所有的Fiddler功能;
2工具栏:该模块提供了很多常见的命令;
3会话列表:显示捕捉到每个Session(会话)的简短信息;
4功能面板:提供了很多选项卡功能,常用的是Insectors选项卡;
5QuickExcc:命令行工具,可以输入简单的命令,如:cls命令可以清空会话列表信息;
6状态栏:显示了Fiddler的一些配置信息,以及当前打开的url信息。
四、Fiddler基本页面常用模块详解
1、Inspectors选项卡
Inspectors选项卡下可以查看HTTP请求和HTTP响应的报文结构,其中Raw选项卡可以查看完整的消息,Headers选项卡可以查看消息中的Header
2、会话列表(Web Sessions列表)
Fiddler窗口左边是Web Sessions列表,显示了每个会话的摘要信息。Web Sessions列表中的表头可以排序,一个Sessions包含了一个HTTP请求和一个HTTP响应
会话列表栏中包含的信息如下:
(1)#:Fiddler生成的id信息;
(2)Result:响应的状态码;
(3)Protocol:使用的协议HTTP或HTTPS;
(4)Host:服务器的主机名和端口号;
(5)URL:URL的路径;
(6)Body:HTTP响应中包含的字节数;
(7)Caching:缓存相关的字段值;
(8)Content-Type:响应中Content-Type的值;
(9)Process:对应本地的Windows进程。
五、Fiddler抓包实现接口测试
此处以一个Web端测试环境的登录窗口举例说明:
服务器地址:101.132.*.191:5005
1、先在浏览器中输入101.132.*.191:5005,按回车键
2、输入要登录的用户名和密码
3、双击打开Fiddler抓包工具,界面如下(注意:Fiddler界面不要关闭)
4、点击Web端测试环境的“登录”按钮
5、在第4步点击“登录”按钮操作完之后,打开查看Fiddler工具的会话列表窗口,此时Fiddler已成功的抓取到浏览器发包的操作,即登录操作:
我们在Inspectors—>WebForms里面,此时可以看到在请求体Body中有两个参数,一个是用户名username,一个是密码password;
在下面的Response body is encoded.Click to decode.—>JSON我们可以看到响应体,也就是服务器返回的数据,我们只需要校验这个接口的请求体和响应的返回体数据是否正确即可。
这样就完成了一个登录接口的测试!!!
6、通常我们除了关注请求体和响应体里面的信息外,更加需要关注的是Raw里面的信息,Raw里面的信息是HTTP协议源生的一些信息
7、以上的操作均属于浏览器的发包操作,此时我们可以借助Fiddler工具模拟发包,常用的模拟发包工具除了Fiddler以外,还有Postman、Jmeter等工具。
此处,我们介绍如何用Fiddler工具来模拟发包请求操作,我们继续用这个登录接口来举例说明:
操作如下:
(1)我们鼠标拖动会话列表里面的请求地址,到右边的Composer那一列,会发现出现绿色的底色,然后再放开鼠标。
此时我们可以看到将登录接口的请求方法全部填充到Composer下面的Parsed中了,有请求的方式:POST,请求的地址:http://101.132.*.191:5005/uaa/form/pcToken,请求的HTTP协议的版本:HTTP/1.1,还有请求体等一系列信息
(2)接着点击右边的Excute按钮,我们就可以模拟发包请求了,每点击一次,就有一次发包请求,即模拟登录接口的测试
(3)模拟接口异常数据测试,比如将用户名改为一个不存在的18299999999,然后点击Excute按钮模拟发包请求
看是否有报错提示:如果没有报错提示,依然可以登录成功,说明这就是一个Bug;如果有报错信息提示,说明这个接口的异常数据测试通过。