工具一本通--Jmeter

工具安装

安装程序包

运行Jmeter.bat

语言设置成中文

1 临时修改:Options > Choose Language > Chinese(Simplified)

2 永久修改:./bin/jmeter.properties

#Preferred GUI language. Comment out to use the JVM default locale's language.

#language=en

language=en

工具使用

一、登录

1 添加请求四要素:地址、请求方式、请求头、请求参数

(1)测试计划 > 添加 > 线程(用户) > 线程组

· 线程组 > 添加 > 取样器 > HTTP请求-登录:地址(协议、IP、端口、路径)、请求方式

(2)消息体数据:请求参数/消息体

2 线程组 > 添加 > 配置原件 > HTTP信息头管理器:添加/从剪贴板粘贴(key1:value1 key2:value2)请求头(json格式)(对该线程组夏所有HTTP请求生效)

3 线程组 > 添加 > 监听器 > 查看结果树:查看实际返回结果跟接口文档中预期结果是否一致?

点击运行:

首次提醒是否保存jmx脚本

二、新增理财项目

1 线程组 > 添加 > 取样器 > HTTP请求-新增理财项目

2 HTTP请求-新增理财项目 > 添加 > 配置原件 > HTTP信息头管理器(对该HTTP请求生效)

3 HTTP请求-登录 > 添加 > 后置处理器 > JSON处理器 (多个每项;隔开)

· 从主体(JSON的响应正文)提取内容

· 创建变量名(使用英文)

· JSON路径表达式:查看结果数 > 响应结果 > JSON PATH Tester > JSON Path Expression Test(KaTeX parse error: Expected 'EOF', got '&' at position 10: .子节点.子节点、&̲..最终子节点) · 匹配数或...{variables}`

三、登录用例执行

1 线程组-登录用例执行 > 添加 > 配置原件 > CSV数据文件设置

· 文件编码:GBK(含中文)

· 分隔符('\t'制表符):,(默认)

· 是否运训带引号?True(请求参数整体数据)

· 遇到文件结束符停止线程?False(可以接着执行线程组中的下一接口测试)

· 线程共享模式:所有现场(默认)

2 修改登录请求中消息体中引用变量

1 线程组-登录用例执行 > 添加 > 逻辑控制器 > 循环控制器

· 循环次数:用例条数

· 将登录请求和CSV数据文件设置放置循环控制器下

· HTTP请求-登录名引用编号以命名不同用例

3 判断:

(1)循环控制器 > 添加 > 断言 > 响应断言

(2)循环控制器 > 添加 > 断言 > 断言结果

· 测试模式 > 添加:"code":${exp_code},"msg":"${exp_msg}"

四、添加理财项目用例执行

1 线程组-添加理财项目

2 添加前置登录(将登录HTTP请求放在添加理财项目HTTP请求前)

3 嵌套引用:

Tools > 函数助手对话框 > 选择一个功能-__eval

函数参数:名称-包含变量和函数引用的文本、值-"最外层引用"

生成 > 拷贝并粘贴函数字符串

替换嵌套引用(本例是消息体数据)

五、用户定义变量

1 测试计划 > 添加 > 配置原件 > 用户定义的变量

2 修改使用为引用

六、多接口批量执行

1 测试计划 > 添加 > 测试片段 > 测试片段(默认禁用状态)

粘入对应模块脚本内容、禁用原模块

2 测试计划 > 添加 > 线程(用户) > 线程组-多接口批量执行

3 添加测试片段

(1)直接添加

线程组-多接口批量执行 > 添加 > 逻辑控制 > 模块控制器-登录 选择测试片段

线程组-多接口批量执行 > 添加 > 逻辑控制 > 模块控制器-添加理财项目 选择测试片段

(2)文件-保存为测试片段

5 线程组-多接口批量执行 > 添加 > 监听器 > 查看结果树

运行

七、生成报告

Win打开当前目录cmd的快捷方式:点击选择路径 > 输入cmd > 回车
jmeter -n -t [.jmx文件路径] -l [指定要生成的.jtl文件名] -e -o [最后html报告要保存的路径]

jmeter -n -t Jmeter训练营Day2.jmx -l Jmeter训练营Day2测试报告.jtl -e -o C:\Users\... 存在空的文件夹内

不方便查看执行详情,适用于性能测试报告、不适用接口测试报告、常用代码写报告

问题1:jmeter不是内部或外部命令

解决Win11:设置 > 搜索-高级系统设置 > 系统属性 > 高级 > 环境变量 > 用户变量 > Path > 新建,JMETER_HOME, 写上jmeter的安装路径\bin

问题2:

复制代码
Error generating the report: org.apache.jmeter.report.dashboard.GenerationException: Error while processing samples: Consumer failed with message :Consumer failed with message :Consumer failed with message :Consumer failed with message :Begin size 1 is not equal to fixed size 5

解决:安装并运行jdk1.8后,可以生成html报告

问题3(可忽略 不影响):

复制代码
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5.

Intv

浏览器抓包:F12 > 网络 > JS

点击意向,可以出现标头、响应的详细信息窗口

相关推荐
se-tester6 天前
JMeter、Postman 和 SoapUI 在做接口测试上的优势和缺点
测试工具·jmeter·接口测试·postman·soapui
feathered-feathered7 天前
测试实战【用例设计】自己写的项目+功能测试(1)
java·服务器·后端·功能测试·jmeter·单元测试·压力测试
质量保障小乔11 天前
JMeter+Jenkins+AI自动化测试
jmeter
装不满的克莱因瓶13 天前
Java高并发异步请求实战,Jmeter暴力压测下的解决方案
jmeter·线程池·多线程·并发·resttemplate·qps·压测
在坚持一下我可没意见19 天前
ideaPool论坛系统测试报告
java·spring boot·功能测试·selenium·jmeter·mybatis·压力测试
linweidong21 天前
别让老板等:千人并发下的实时大屏极致性能优化实录
jmeter·clickhouse·性能优化·sentinel·doris·物化视图·离线数仓
CesareCheung22 天前
JMeter核心组件使用方法及场景大全
jmeter
我会一直在的23 天前
Jmeter的基础使用
功能测试·jmeter·压力测试
choke23323 天前
软件性能测试实战:从基础概念到 JMeter 全组件使用
jmeter
网络安全-杰克24 天前
Jmeter压力测试工具安装与使用
自动化测试·软件测试·测试工具·jmeter·职场和发展