JMeter使用命令行模式压测并生成测试报告
1. 配置jmx脚本
使用JMeter的GUI模式调试脚本、配置参数(线程数、参数化等),保存脚本(默认为.jmx文件),我们这里使用脚本“promoteTest.jmx”为例进行讲解。
关闭JMeter工具。
2. 命令行模式执行压测
2.1. 打开命令行
这里我们以Windows系统自带的命令行工具(PowerShell)为例进行演示。从开始菜单输入“powershell”启动命令行工具。
2.2. 创建日志目录及报告目录
我们在D盘创建一个LOG文件夹存放压测日志,同时在D盘创建一个Report文件夹存放测试报告。
2.3. 命令行模式执行压测
使用命令行的“cd”命令进入到本地Jmeter工具bin目录
2.3.1. 命令说明
jmeter –n –t -l -e –o
-n: 非GUI模式执行JMeter
-t: 执行测试文件所在的位置
-l: 指定生成测试结果的保存文件,jtl文件格式
-e: 测试结束后,生成测试报告
-o: 指定测试报告的存放位置
该方式的输入,为JMX file path,另外两个参数(CSV log和report folder)皆为输出。
需要注意的是,csv log不能在report folder下,否则将报类似csv log is not empty之类的错误。
我们输入命令:
.\jmeter -n -t ‘D:\PerformanceTest\promoteTest.jmx’ -l D:\PerformanceTest\LOG\csvlog.log -e -o D:\PerformanceTest\Report
开始执行压测。
执行结束。
查看测试报告。
3. 注意事项
3.1. 自定义配置
JMeter3.0以后在bin目录新增了reportgenerator.properties文件保存了所有关于图形化HTML报告生成模块的默认配置,要变更配置,建议不要直接编辑该文件,而是推荐在user.properties中去配置和覆盖。
默认采样点粒度是60000ms(即1分钟),通常在稳定性以外的测试过程中我们需要细化粒度,如1000ms(即1秒),我们在user.properties文件中添加如下配置:
jmeter.reportgenerator.overall_granularity=1000