工具一本通--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

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

相关推荐
shughui3 天前
JMter(六):jmete变量提取常用方式
jmeter·性能优化
大霞上仙3 天前
jmeter 两个循环控制器的使用例子
jmeter
张永清-老清3 天前
每周读书与学习->JMeter性能测试脚本编写实战(三)如何利用JMeter为MySQL数据库构造测试数据
数据库·测试工具·jmeter·压力测试·性能调优·jmeter性能测试·每周读书与学习
周末吃鱼4 天前
研发快速使用JMeter
java·jmeter
shughui6 天前
JMeter(一):jemter安装
jmeter
shughui6 天前
JMeter(二):什么是jmeter参数化?为什么需要它?如何使用
测试工具·jmeter·性能优化·单元测试
无名小卒Rain7 天前
Jmeter性能测试-长短链接的处理
jmeter
幺零九零零11 天前
压测-JMeter(八)
jmeter
唐古乌梁海12 天前
JMeter电商项目:活动页面压测经验分享
经验分享·jmeter
查拉图斯特拉面条12 天前
JMeter JSR223后置处理器:JSON数据处理与格式转换实战指南
python·jmeter·json