使用Jmeter抓取手机APP报文并进行APP接口测试

Jmeter是一个比较常用的接口测试工具,尤其是接口性能测试。当然它也可以用来测试手机APP的HTTP接口,我在Fiddler抓取手机APP报文接口测试代理工具charles mock测试 分别介绍了Fiddler和charles 如何抓取APP报文,本文介绍使用Jmeter来抓取APP报文以及进行手机APP接口测试。

安装Jmeter

使用Apache JMeter进行接口测试需要先配置Java环境,JDK下载地址:https://www.oracle.com/java/technologies/downloads/#java11

Jmeter下载地址:https://jmeter.apache.org/download_jmeter.cgi

安装完成后打开jmeter,页面如下:

将手机和PC连接到同一局域网下,可以连接同一个WiFi。我的PC获取到的IP地址为192.168.0.167。

Jmeter配置代理

添加HTTp(s) Test Script Recorder (代理服务):Test Plan -> Add -> Non-Test Elements -> HTTp(s) Test Script Recorder

接下来配置端口(8898)和IP地址(192.168.0.167):

添加线程组:Test Plan -> Add ->Threads(Users) -> Thread Group

在线程组下添加Recording Controller:Thread Group -> Add -> Logic Controller -> Recording Controller

新增View Results Tree,用来监听测试结果:Thread Group -> Add -> Listenter -> View Results Tree

配置代理服务报文存放位置,设置为:Test Plan > Thread Group > Recording Controller,这样抓取到的APP报文将会存放在Recording Controller下。

手机安装证书

先点击HTTP(S) Test Script Recorder的“Start”按钮,在JMeter安装目录的“bin”文件夹中会自动生成名称为ApacheJMeterTemporaryRootCA.crt的文件。

将crt证书文件发送到手机进行安装,安装完成后就可以抓取HTTPS报文了。

手机设置代理

配置之前一定要保证手机和PC处于同一个局域网下。

手机进入连接的WiFi设置页面,配置代理,主机IP地址为PC的IP地址192.168.0.167,端口号是jmeter设置的端口号8898。

抓取APP报文

点击HTTP(S) Test Script Recorder中的“Start”按钮,然后手机操作APP

在 Recording Controller 中可以看到APP发出的请求。

APP操作完成后,停止抓包。

录制回放

对录制的请求进行回放,选中Recording Controller,点击上方绿色启动按钮。

View Results Tree中显示了回放过程,可查看每一次的请求响应数据。

--THE END--

永远保持理智确实是一个奢求。——刘慈欣 《流浪地球》


本文标题:使用Jmeter抓取手机APP报文并进行APP接口测试

文章作者:hiyo

文章链接:https://hiyongz.github.io/posts/api-test-guide-for-mobile-app-with-jmeter/

许可协议:本博客文章除特别声明外,均采用CC BY-NC-ND 4.0 许可协议。转载请保留原文链接及作者。

关注微信公众号,及时接收最新技术文章!