53 0

Jmeter压力测试详解 [推广有奖]

  • 0关注
  • 0粉丝

等待验证会员

小学生

14%

还不是VIP/贵宾

-

威望
0
论坛币
0 个
通用积分
0
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
40 点
帖子
3
精华
0
在线时间
0 小时
注册时间
2018-11-11
最后登录
2018-11-11

楼主
呜呜i我就就好好 发表于 2025-12-11 13:25:39 |AI写论文

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币

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证书,必要时将自定义证书导入到客户端的信任库中;
  • 监控连接池使用情况,避免因连接未释放导致资源枯竭。
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:Meter 压力测试 JME localhost exception

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
jg-xs1
拉您进交流群
GMT+8, 2025-12-22 08:36