在接口测试中,使用fiddler可以获取接口的服务器地址、接口路径、参数信息、请求方式,用处大大的。
本次介绍fiddler的几个使用场景:
1.如何配置,能能抓取Android APP的数据
2.查看抓取数据,包括使用的服务器地址、接口路径、请求方式、传递的参数,返回的数据
3.fiddler过滤器的使用,仅显示指定服务器的抓包数据
4.接口测试,模拟像接口发送请求。
- 1 如何配置,能能抓取Android APP的数据
首页在电脑上安装fiddler,启动Fiddler,打开菜单栏中的 Tools > Fiddler Option

在options-->connections中,打勾允许远程连接电脑 端口号是8888

然后获取电脑的IP地址,手机设置代理时,主机就是这个地址

再为手机设置代理,让手机端经过电脑上网,操作数据能被fiddler抓取到

说明:手机连接的WiFi 最好跟电脑的网络,在同一个网段。
到此设置完成,将手机用数据线跟电脑保持连接,然后,打开京东APP,再看fiddler中的抓取情况

其他步骤
*接着打开手机浏览器,访问 PC 的地址+端口

*在打开的页面中点击“FiddlerRoot certificate”,下载并安装证书。

安装完了证书,使用用手机访问应用,就可以看到截取到的数据包了。
- 2 查看抓取数

Host,是接口的服务器地址
URL,在?前面是接口路径,后面跟着参数

从上图的Headers中,能看到请求方式是Post

从上图的webForms中,能看到提交的参数

从上图的Json中,查看请求结果。
- 3 fiddler过滤器的使用
可以针对特定的 HTTP 请求(分析请求数据、设置断点)

切换到Filters面板,勾选上UserFilters,可以选择互联网访问,仅显示下面指定的地址的数据包:api.m.jd.com; 并Actions 执行过滤。
- 4 模拟向服务器发送请求
在 Composer 面板中,我们可以向服务器发送自定义请求,可以手动创建一个新的请求,也可以从会话表中,拖拽一个现有的请求。
实例待补充。。。
设置断点,篡改和伪造数据
设置断点,篡改和伪造数据,在测试中使用的也较频繁,一个真实的案例:比如使用支付宝购买虚拟商品,往支付宝跳转时,篡改了小的金额,结果购买虚拟商品成功了。(原本10元的商品,0.01元就搞定了)。多么可怕的一个bug啊,当然这个问题可能对于一个做过支付有过经验的测试朋友来说,可能会想:哎呀,这个问题都发现不了,还做什么测试?是的,问题是很简单,对于一个刚入职场的测试朋友或者没有支付相关经验的测试朋友来说,很有可能会忽略。
前面讲过fiddler作为代理服务器时的请求流程图,请求时,可被篡改的两个点:Before Requests、After Responses。
修改Requests方法:在fiddler的菜单栏Rules---->Automatic Breakpoints---->Before Requests
跳转到支付界面时,仍是修改前的价格,才是正确响应结果。