利用Fiddler抓包APP应用接口,在Jmeter编写接口测试脚本
1.用Fiddler对Android用用进行抓包
Fiddler介绍:
Fiddler是一款非常流行并且实用的http抓包工具,它的原理是在本机开启了一个http的代理服务器,然后它会转发所有的http请求和响应。不仅如此,它还可以支持请求重放等一些高级功能。显然它是可以支持对手机应用进行http抓包的。
下面就来介绍下如何用fiddler对手机应用来抓包。
在“代理”后面的输入框选择“手动”,在“主机名”后面的输入框输入电脑的ip地址,在“端口”后面的输入框输入8888,然后点击“确定”按钮。
注:首先,确保安装 Fiddler 的电脑和你的手机在同一局域网内,因为Fiddler只是一个代理,需要将手机的代理指向 PC 机,不能互相访问是不行的。
然后启动Android设备中的HTTP请求,就可以在Fiddler中看到完成的请求和响应数据。
2.在Jmeter编写接口测试脚本
用"言味"这个APP来测试
1.清空Fiddler无用接口信息
操作APP登录言味,Fiddler拿到的登录接口复制到Jmeter
1)Fiddler的Headers信息填到Jmeter的HTTP请求路径内
2)Fiddler的TextView信息填到Body Data内
3)跑一下该HTTP请求是否成功
2.成功拿到该接口数据后,我们需要把“openld”的数据用正则表达式取到,用该变量来完成接下来的获取接口操作
注:正则表达式:用于将需要的数据提取出来
注:引用名称:代表下一个请求要引用的参数名称,如填写“openid”,那么则可用“${openid}”引用它。 正则表达式:():括起来的部分就是要取的
. :匹配任何字符
+:一次或多次
?:在找到第一个匹配项后停止
模板:用$$引起来,$2$表示取第2个值给openid
匹配:0代表随机取值,1代表取全部值
缺省值:如果参数没有取到值,那就默认给它一个值
3.操作言味APP获取栏目列表,然后在FIddler拿到该接口复制到Jmeter的HTTP请求中
4.将该接口拿到Jmeter后,需要用前面设置的正则表达式的变量替换掉重复的值
然后再下面都是这种重复操作,(操作APP给Fiddler拿到接口,将接口复制到Jmeter,需要设置正则表达式的地方设置则表达式,需要注意接口方法GET和POST的区别)。