1、JMeter的安装与配置
1.1 系统环境准备
在安装JMeter之前,需确保已正确安装 JDK 1.8,并完成相关环境变量的配置。主要配置如下:
- JAVA_HOME:C:\Program Files\Java\jdk1.8.0_101
- Path:;%JAVA_HOME%\bin;
- CLASSPATH:%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
1.2 JMeter 安装步骤
请参考官方渠道获取 JMeter 的安装包并进行解压部署。
1.3 配置 JMeter 环境变量
根据标准流程设置 JMeter 的环境变量,以便可在任意路径下启动运行工具。
1.4 启动与验证
进入 JMeter 安装目录下的 bin 文件夹(例如:D:\server\apache-jmeter-5.3),如下图所示:
双击执行 jmeter.bat 文件,若成功启动将显示主界面,如下图即表示运行正常:
2、自动化测试脚本生成方式
推荐方法:通过录制功能自动生成脚本
相比手动编写脚本,使用代理录制方式更为高效且准确,尤其适用于复杂业务流程。
2.1 配置浏览器代理服务器
进入浏览器设置界面,定位到网络代理配置部分(如图片模糊可双击放大查看)。
Google 浏览器设置参考如下:
Edge 浏览器设置参考如下:
按照下图操作,开启计算机级别的代理设置,勾选“使用代理服务器”,地址填写 http://localhost,端口设置为 8888(建议避免使用 8080 端口)。如有保存按钮,请务必点击保存以应用更改。至此,浏览器代理配置完成。
2.2 浏览器证书配置
为了能够顺利录制 HTTPS 请求,需要导入 JMeter 提供的安全证书。
首先打开浏览器高级设置选项:
(Google 浏览器示例)
(Edge 浏览器示例)
2.2.1 导入受信任的根证书
在证书管理界面中,选择“受信任的根证书颁发机构”,然后点击“导入”按钮。随后导航至 JMeter 安装目录中的 bin 文件夹,选取 ApacheJMeterTemporaryRootCA.crt 文件进行导入。
2.3 构建测试结构
2.3.1 创建线程组
在测试计划上右键,依次选择 添加 → 线程 → 线程组,即可创建一个新的线程组。
将其重命名为“绩效考核系统自动化测试”,便于后续识别和管理。
2.3.2 添加录制控制器
在线程组内部添加一个录制控制器,用于承载录制过程中产生的请求数据。
2.3.3 配置 HTTP 代理服务器
选中测试计划(若存在工作台,则选中工作台),右键选择 添加 → 非测试元件 → HTTP 代理服务器,完成创建。
设置监听端口为 8888,与前述浏览器代理端口保持一致;目标控制器选择为“测试计划 > 绩效考核系统自动化测试”。
2.4 开始录制测试行为
2.4.1 启动录制过程
点击代理服务器右侧的“启动”按钮,系统会弹出根证书提示框,确认即可继续。
进入目标系统的登录页面,此时 JMeter 已开始记录所有网络交互行为。
完成登录并执行若干操作后(如选择打分项),点击“停止录制”结束捕获。
如下图所示,用户的所有操作已被自动转化为对应的 HTTP 请求脚本。
录制完成后建议及时关闭代理服务,防止影响正常的网络访问。
2.4.2 设置 HTTP 请求默认值
为提升脚本维护性,可在测试计划中添加通用配置参数。右键测试计划,选择 添加 → 配置元件 → HTTP 请求默认值。
将该组件置于目录结构顶部(所有配置类元件均推荐置顶放置)。
配置内容包括:协议设为 http,服务器 IP 填写为 10.17.18.24,其余字段按实际需求设定。
配置完成后,各请求中重复的参数可删除,系统将自动继承默认值中的设置。
重要提示:建议在开始录制前就预先设置好 HTTP 请求默认值,这样录制生成的脚本将直接包含这些默认参数,减少后期调整工作量。
3、优化自动生成的测试脚本
3.1 提取登录 Token
选中登录请求,右键添加 → 后置处理器 → JSON 提取器,用于从响应中提取用户的认证令牌(token)。
3.2 使用 Token 进行参数化
进入 getinfo 请求的 HTTP 信息头管理器,将 Authorization 字段的值修改为 Bearer ${token},即引用上一步提取的变量。
此后所有需要身份验证的请求都应更新此头部信息,实现统一鉴权。
3.3 添加监听器以便分析结果
右键测试计划,选择 添加 → 监听器,可根据需要添加多种类型,如:察看结果树、汇总报告、聚合报告、汇总图等。
添加完成后,项目结构中将出现相应的监听组件。
3.4 使用后置处理器处理编码问题
添加 BeanShell 后置处理器,用于设置响应消息的字符编码格式为 UTF-8,确保中文等内容正常解析。
3.5 添加定时器控制请求频率
可通过插入定时器来模拟真实用户操作间隔,提高测试真实性。
(后续内容将持续补充完善)
4、常见问题汇总
在实际使用过程中可能遇到各类技术问题,如证书不被信任、代理未生效、脚本无法回放等,需结合日志与监听器反馈逐一排查。
org.apache.http.NoHttpResponseException: failed to respond 问题解决方案
该异常通常表示客户端在发送HTTP请求后,目标服务器未能返回任何响应。此类问题可能由多种原因引起,其中较为常见的包括网络连接不稳定、服务器端处理超时、连接池资源耗尽以及SSL/TLS证书相关问题等。
证书问题是引发此异常的一个重要因素。当客户端与服务端之间的SSL证书不被信任、已过期或配置不当,可能导致握手失败,进而使服务器无法正常响应请求。此时需要检查服务端的证书有效性,确认其是否由可信的CA签发,并确保客户端支持相应的加密协议版本(如TLS 1.2及以上)。
针对该问题,可采取以下措施进行排查和修复:
- 验证目标服务是否正常运行并监听正确的端口;
- 检查网络连通性,排除防火墙或代理导致的中断;
- 调整HttpClient的重试机制与超时设置,增强容错能力;
- 更新或正确安装SSL证书,必要时将自定义证书导入到客户端的信任库中;
- 监控连接池使用情况,避免因连接未释放导致资源枯竭。



雷达卡


京公网安备 11010802022788号







