接口测试的选择其实很多,Postman、JMeter、Python、Java……每种都各有千秋,今天帮助组内同学测试APP端,也顺手学习用了一下这个利器。
Fiddler简介
官网上有句原话是:The free web debugging proxy for any browser,system or platform!
Fiddler 是一个能够支持所有浏览器、系统和平台的调试代理。是位于客户端和服务器的中间,它能记录所有客户端和服务器的HTTP(S)请求响应,进行截获、重发、编辑、转存等操作。
(图片来自网络)
配置
下载安装好 Fiddler 之后,选择 Tools -> Options , HTTPS 设置和 Connetions 设置如图:
这样,我们就在 PC 机器上设置了一个 HTTP 代理,连接上这个代理的请求,都将会被 Fiddler 捕获。
然后, iOS 和 Android 的配置,查询本机电脑 IP (注意手机端和电脑必须是同一个网段):
iOS 手机连接上和电脑同一个网段的 wifi,进入设置-无线局域网-点击所连 wifi 的感叹号-设置 HTTP 代理-选择手动,输入 IP 和 Port
Android 手机,大同小异,没有实际操作过,网络盗了个图:
(图片来自网络)
抓请求
现在,可以打开手机APP,盯着Fiddler请求,这时候,Fiddler会刷出一堆请求,但有的同学会什么都没有,原因可能是
1、Fiddler捕捉不到的私有协议请求
2、HTTPS请求未配置
配置HTTPS请求办法
1、在手机浏览器输入 Fiddler 配置链接(如:10.240.137.16:8888),点击红框安装证书
2、iOS10 以及之前版本,至此就完成, iOS11 之后版本,还需要进一步设置:进入 设置->通用->关于本机->证书信任设置 fiddle相关证书的开关开启(下图第二个)
继续查看 Fiddler,请求以及全部被抓取了,如下,我抓取了网易严选拼团个人中心的数据
重复执行请求:
重复执行请求的测试场景有很多,比如:
1、购物网站常见防刷机制,一般会以账号或者设备号、手机号等进行校验,测试过程中可以利用重复执行接口验证
2、Reissue and Eidt,即编辑后重复执行,可验证接口各个参数值合法性测试
3、性能测试,重复大量请求并发,进行简单的性能验证
断点调试
请求断点在 Fiddler 界面的左下角,有一个命令行栏,输入 bpu [url] 会在该 [url] 开始请求的时候中断请求继续执行:
bpafter [url] 在响应到达时中断
bps [url] 在特定http状态码时中断
bpv/bpm [url] 在特定请求method时中断
网速限制
设置 Fiddler Script 下的参数,不需要重启 Fiddler,网络可被限制
其中:
request_tricky-delay:上传速度延迟300ms/KB
response_tricky-delay:下载速度延迟150ms/KB
手动请求
后记
Fiddler 非常强大,学习时间有限,浅显入门介绍,希望能对你有帮助,有兴趣还可以针对mock数据,伪造请求等进行深入学习~
领取专属 10元无门槛券
私享最新 技术干货