在接口测试中,使用fiddler可以获取接口的服务器地址、接口路径、参数信息、请求方式,用处大大的。

本次介绍fiddler的几个使用场景:

1.如何配置,能能抓取Android APP的数据

2.查看抓取数据,包括使用的服务器地址、接口路径、请求方式、传递的参数,返回的数据

3.fiddler过滤器的使用,仅显示指定服务器的抓包数据

4.接口测试,模拟像接口发送请求。

  • 1 如何配置,能能抓取Android APP的数据

首页在电脑上安装fiddler,启动Fiddler,打开菜单栏中的 Tools > Fiddler Option

fiddler手机抓包ios fiddler手机抓包app不能上网_接口测试

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

fiddler手机抓包ios fiddler手机抓包app不能上网_接口测试_02

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

 

fiddler手机抓包ios fiddler手机抓包app不能上网_fiddler_03

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

 

fiddler手机抓包ios fiddler手机抓包app不能上网_fiddler_04

 

说明:手机连接的WiFi 最好跟电脑的网络,在同一个网段。

到此设置完成,将手机用数据线跟电脑保持连接,然后,打开京东APP,再看fiddler中的抓取情况

 

fiddler手机抓包ios fiddler手机抓包app不能上网_数据_05

 

其他步骤

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

 

fiddler手机抓包ios fiddler手机抓包app不能上网_fiddler手机抓包ios_06

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

 

fiddler手机抓包ios fiddler手机抓包app不能上网_Jmeter_07

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

---------------------------------------------------------------------------------

手机上安装fiddler

打开浏览器,输入你电脑的ip+端口号(这里默认已在Fiddler里面设置:5555)

fiddler手机抓包ios fiddler手机抓包app不能上网_接口测试_08

 

点击下载证书

fiddler手机抓包ios fiddler手机抓包app不能上网_Jmeter_09

 

 

下载好后,来到WLAN设置,选择更多->高级WLAN设置

点击安装证书

fiddler手机抓包ios fiddler手机抓包app不能上网_接口测试_10

 

 

 

证书这里不要选择WLAN,应该选择VPN和应用,不然在应用中打开会显示证书错误

fiddler手机抓包ios fiddler手机抓包app不能上网_数据_11

 

 

 

 

好了,Fiddler证书就已经安装成功了

参照:https://baijiahao.baidu.com/s?id=1605711253475415150&wfr=spider&for=pc

-------------------------------------------------------------------------------------

 

  • 2 查看抓取数

fiddler手机抓包ios fiddler手机抓包app不能上网_接口测试_12

result=200 表示请求成功;

Host,是接口的服务器地址

URL,在?前面是接口路径,后面跟着参数

 

fiddler手机抓包ios fiddler手机抓包app不能上网_Jmeter_13

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

 

fiddler手机抓包ios fiddler手机抓包app不能上网_数据_14

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

 

fiddler手机抓包ios fiddler手机抓包app不能上网_接口测试_15

从上图的Json中,查看请求结果。

 

  • 3 fiddler过滤器的使用

可以针对特定的 HTTP 请求(分析请求数据、设置断点)

fiddler手机抓包ios fiddler手机抓包app不能上网_Jmeter_16

切换到Filters面板,勾选上UserFilters,可以选择互联网访问,仅显示下面指定的地址的数据包:api.m.jd.com; 并Actions 执行过滤。

  • 4 模拟向服务器发送请求

在 Composer 面板中,我们可以向服务器发送自定义请求,可以手动创建一个新的请求,也可以从会话表中,拖拽一个现有的请求。

 

实例待补充。。。

设置断点,篡改和伪造数据

  设置断点,篡改和伪造数据,在测试中使用的也较频繁,一个真实的案例:比如使用支付宝购买虚拟商品,往支付宝跳转时,篡改了小的金额,结果购买虚拟商品成功了。(原本10元的商品,0.01元就搞定了)。多么可怕的一个bug啊,当然这个问题可能对于一个做过支付有过经验的测试朋友来说,可能会想:哎呀,这个问题都发现不了,还做什么测试?是的,问题是很简单,对于一个刚入职场的测试朋友或者没有支付相关经验的测试朋友来说,很有可能会忽略。

前面讲过fiddler作为代理服务器时的请求流程图,请求时,可被篡改的两个点:Before Requests、After Responses。

fiddler手机抓包ios fiddler手机抓包app不能上网_Jmeter_17

 

修改Requests方法:在fiddler的菜单栏Rules---->Automatic Breakpoints---->Before Requests

fiddler手机抓包ios fiddler手机抓包app不能上网_fiddler手机抓包ios_18

fiddler手机抓包ios fiddler手机抓包app不能上网_Jmeter_19

跳转到支付界面时,仍是修改前的价格,才是正确响应结果。

 

-----------------------------------------Have a good day!---------------------------------------------------------------------------------------------------