使用GUI方式启动jmeter,运行线程较多的测试时,会造成内存和CPU的大量消耗,导致客户机卡死,测试数据不够准确。
所以使用非 GUI 模式,即命令行模式运行 JMeter 测试脚本能减少系统资源占用。
环境要求:
1、jmeter3.0版本之后开始支持动态生成测试报表
2、jdk版本1.7以上
3、需要jmx脚本文件
基本操作:
在脚本文件路径下,执行cmd命令:jmeter -n -t 【Jmx脚本位置】-l 【中间文件result.jtl位置】-e -o 【报告指定文件夹】
参数说明:
● -n: 非GUI模式执行JMeter
● -t: 执行测试文件所在的位置
● -l: 指定生成测试结果的保存文件,jtl文件格式
● -e: 测试结束后,生成测试报告
● -o: 指定测试报告的存放位置
ex:
jmeter -n -t F:\跨线程.jmx -l result.jtl -e -o D:\Directory\apache-jmeter-5.1.1\bin\HttpReport
这段命令中,第一处是我的接口脚本路径,第二处是自动生成的jtl文件,第三处是结果报告文件夹路径,这一段命令在cmd下执行命令即可(备注,必须在脚本文件路径下执行cmd)
执行结果如下:

执行完成后bin目录下会多处两个result.jtl 、HttpReport文件


生成测试报告如下:

注意:结尾的 HttpReport是自己手动创建的报告文件夹。每次启动命令之前,文件夹内容必须和 jtl 文件一起清空。否则会报错

考虑每次执行命令都要先去目录下清空报告文件夹和jtl,还要敲命令,很烦,就写一个bat丢在bin目录下,每次执行bat都自动去清空之前的报告,然后执行命令

del是删除jtl,rd是删除报告文件夹,md是重建报告文件夹,最后执行命令生成报告。执行结果如下:

网友评论