工具一本通--Jmeter

发布时间:2024年01月15日

工具安装

安装程序包
运行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
点击意向,可以出现标头、响应的详细信息窗口

文章来源:https://blog.csdn.net/weixin_45428118/article/details/135539637
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。