jmeter - 录制web或者手机app的http/https请求

本文介绍如何使用JMeter通过设置电脑及手机代理来录制Web页面和App的请求过程,包括不同系统的具体配置步骤及目标控制器的设定方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. Web录制

1.1 电脑上设置web代理

jmeter录制web请求需要在电脑上设置web代理,设置方法如下:

1.1.1 mac系统

系统偏好设置 -> 网络 -> 代理 -> Web代理(HTTP)【地址:localhost,端口:8888】

1.1.2 win10系统

设置 -> 网络和INTERNET -> 代理【地址:localhost,端口:8888】

1.1.3 win7系统

控制面板 -> Internet属性 -> 局域网设置【地址:localhost,端口:8888】

1.2 配置jmeter http代理

工作台->添加->非测试元件->HTTP代理服务器,保持默认状态【端口为8888,HTTPS Domains为空】

1.3 配置目标控制器 开始录制

建立新的线程组:测试计划->添加->Threads->线程组

选定HTTP代理服务器,选择新建的线程组为目标控制器,选择分组方式/添加过滤条件

点击启动,开始录制。

使用浏览器访问网页,即可看到线程组上有新的记录,也即录制的结果。


2. APP录制

2.1 PC共享可供手机连接上网的Wi-Fi

使用PC共享可供手机连接上网的WIFI,记录IP地址,填入HTTP代理服务器中的HTTPS Domains。

使用PC共享可供手机连接上网的Wi-Fi的方法如下:

2.1.1 mac系统

系统偏好设置 -> 共享 -> 互联网共享

2.1.2 windows系统 有无线网卡的笔记本

使用WiFi共享精灵共享网络。【其他办法/软件也可以】

2.1.3 windows系统 无无线网卡的台式机

插上无线网卡,使用WiFi共享精灵共享网络。【其他办法/软件也可以】

2.2 手机连接PC共享的Wi-Fi

手机连接PC共享的Wi-Fi,设置手动代理,输入IP地址+端口8888【同HTTP代理服务器一致

2.3配置目标控制器,开始录制

建立新的线程组:测试计划->添加->Threads->线程组

选定HTTP代理服务器,选择新建的线程组为目标控制器,选择分组方式/添加过滤条件

点击启动,开始录制。

使用手机打开app,进行操作,即可看到线程组上有新的记录,也即录制的结果。
### 使用JMeter对移动应用程序执行压力测试 #### 准备工作 为了有效利用JMeter对移动应用实施压力测试,需先配置好环境并理解基本概念。Apache JMeter是一个强大的开源性能测试工具,不仅限于Web应用,也适用于各种类型的API和服务,包括那些被移动端使用的接口[^2]。 #### 设置代理服务器 由于大多数情况下无法直接通过JMeter与原生移动应用交互,通常做法是在设备上设置网络流量经由运行着JMeter的计算机作为中间件来捕获和重放HTTP/HTTPS请求。这意味着要将手机或其他移动装置连接到同一局域网内的电脑,并调整其Wi-Fi设置中的HTTP代理指向该机器IP地址以及指定端口号(默认8080)。对于iOS设备来说,在安装证书之后才能解密HTTPS通信;而对于Android,则可能需要root权限或特定版本的支持[^1]。 #### 录制会话 启动JMeter后创建一个新的测试计划文件,接着添加线程组(Thread Group),再加入“HTTP(S) Test Script Recorder”。此组件允许记录真实用户的操作行为转化为可重复使用的采样器(sampler)集合。确保已开启监听端口并且正确设置了目标控制器(Target Controller),以便保存录制下来的事务。此时可以返回至客户端——即智能手机和平板电脑上的浏览器或是专门为此目的开发的小型辅助app——开始浏览页面、提交表单等动作直至覆盖所有预期场景为止。 #### 参数化与虚拟用户数设定 一旦拥有了初步脚本框架,下一步就是增强灵活性使之适应不同参数组合下的多次迭代执行需求。这涉及到替换硬编码值为变量表达式,比如${username} ${password}等形式,并借助CSV Data Set Config元件读取外部文件提供多轮次所需的数据集。与此同时定义合理的并发水平(Threads count)及ramp-up period以模拟真实的在线人数波动情况。 #### 施加负载并监控响应时间 最后一步便是正式施压观察系统表现了。除了关注平均响应时间和吞吐量外,还应留意错误率指标反映服务稳定性。如果发现某些环节存在瓶颈问题,则考虑优化前后端逻辑处理效率或者增加硬件资源配置规模。另外值得注意的是,当遇到`Address already in use`这样的异常提示时,可能是由于本地防火墙策略阻止了必要的端口绑定活动所致,这时应当检查相关安全选项做出适当修改[^3]。 ```bash # 启动JMeter命令行模式进行非GUI的压力测试 jmeter -n -t /path/to/testplan.jmx -l /path/to/resultsfile.csv ```
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值