Jmeter CLI 模式
Jmeter CLI 模式
1|0什么是 CLI 模式
- CLI = Command Line,命令行模式,我们常说的 NON GUI 模式,无界面模式
- 真正做负载测试时,应该使用 CLI 模式运行,而不是 GUI
2|0启动 Jmeter GUI 时的提示
使用 jmeter.bat 运行时会有一个 cmd 窗口
官方也说了
负载测试不要用 GUI 模式,GUI模式仅用于创建测试计划和调试脚本
增加 Java 堆空间来满足你的测试环境(后面再讲解)
3|0用 CLI 模式的好处
将系统大部分资
4|0CLI 模式可选参数
| 字段 | 含义 |
|---|---|
| -n | 指定 JMeter 将在 cli 模式下运行 |
| -t | 包含测试计划的 jmx 文件名称 |
| -l | 记录测试结果的 jtl 文件名称 |
| -j | 记录 Jmeter 运行日志的文件名称 |
| -g | 输出报告文件( .csv 文件) |
| -e | 生成 html 格式的测试报表 |
| -o |
|
5|0服务器相关参数
| 字段 | 含义 |
|---|---|
| -H | 代理服务器的 host 或 ip |
| -P | 代理服务器的 port |
| -r | 指定所有远程服务器中运行测试 |
| -R | 在指定的远程服务器中运行测试 |
| -X | 服务器运行完脚本后自动停止 jmeter-server |
6|0属性参数
Java 系统属性和 JMeter 属性可以直接通过以下命令进行覆盖,而不用手动修改 jmeter.properties
| 格式 | 含义 |
|---|---|
| -D[prop_name]=[value] | 定义一个 Java 系统属性值 |
| -J[prop_name]=[value] | 定义本地 JMeter 属性 |
| -G[prop_name]=[value] | 定义要发送到所有远程服务器的 JMeter 属性 |
| -G[propertyfile] | 定义一个包含 JMeter 属性的文件,该文件将发送到所有远程服务器 |
| -L[category]=[priority] |
|
7|0栗子一
文件目录

①分两步走 先生成jtl,再生成html
jmeter -n -t script/smb_uat_interface.jmx -l result/report${__time(yyyy_MMdd_HHmmss)}.jtl
jmeter -g result/report2020_0728_142952.jtl -o result/report2020_0728_142952

②一步走:一起生成jtl和html【只需要修改脚本.jmx的名字】
CMD时间格式化 %date:~0,4%_%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
jmeter -n -t script/smb_uat_interface.jmx -l result/report%date:~0,4%_%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%.jtl -e -o result/report%date:~0,4%_%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%

可把执行脚本放到主目录下,后缀改为.bat执行运行

- 执行 FlaskDemo.jmx 脚本,并在 result 目录下生成 report.jtl 报告
- report.jtl 存在也没关系,可以自动覆盖
注意:想提前停止:D:\software\apache-jmeter-5.0\bin bin目录下 打开 shutdown.sh
在bin目录下,运行脚本
- stoptest.cmd / stoptest.sh 【硬中断】
- shutdown.cmd / shutdown.sh 【软中断】
注意,只有在同一个 host 下运行的脚本,Jmeter 才会接受
8|0栗子二
- -e -o report${__time(yyyy_MMdd_HHmmss)},直接加时间戳 好像有点问题???用这个2020_0728_141949 %date:~0,4%_%date:~5,2%%date:~8,2%_%time:~0,2%%time:~3,2%%time:~6,2%
- 执行 FlaskDemo.jmx 脚本
- 在 result 目录下生成 report.jtl 报告
- 最后在 report 目录下生成测试报表
- 切记: report.jtl 必须不存在, report 目录必须不存在或者为空
后面再用一篇文章详细讲解 HTML 报告的细节:https://www.cnblogs.com/poloyy/p/13278920.html
9|0栗子三
- 将 .jtl 文件转换为 .html 文件,并保存到 report 文件夹中
- 类似栗子二,只不过跳过了执行 .jmx 文件的步骤,直接将 .jtl 文件转换为 .html 文件
和栗子二的结果一样
在 Jmeter GUI 中有一个类似的功能
点击 Tools
选好 jtl 文件,properties 配置文件,存放 HTML 报告的文件夹
三、批处理CLI模式执行
1、将cli命令行 执行的命令 贴到txt文件中

2、修改txt为 xx.bat,保存在脚本所在的路径下

3、双击cli-jmeter.bat即可执行,同理会生成 .jtl及html文件











浙公网安备 33010602011771号