Jmeter:使用命令行生成测试报告
环境要求
1:jmeter3.0版本之后开始支持动态生成测试报表
2:jdk版本1.7以上
3:需要jmx脚本文件
4:将jmeter/bin路径添加至path
5:生成报告后,要及时将报告整理,如果不将已生成的报告移除,再次重新生成报告时,提示:
PS D:\apache-jmeter-3.0\apache-jmeter-3.0\bin> jmeter -n -t D:\apache-jmeter-3.0\testplan\baidu.jmx -l D:\apache-jmeter-3.0\testplan\result.jtl -e -o D:\apache-jmeter-3.0\testplan\TestReport
Writing log file to: D:\apache-jmeter-3.0\apache-jmeter-3.0\bin\jmeter.log
An error occurred: Cannot write to 'D:\apache-jmeter-3.0\testplan\TestReport' as folder is not empty
errorlevel=1
如果想要生成HTML报告,有两种方式:
1.可以在测试过程中将jtl转成测试报告(在jmeter的bin目录下执行): ./jmeter -n -t baidu_requests_results.jmx -r -l baidu_requests_results.jtl -e -o /home/tester/apache-jmeter-3.0/resultReport
参数说明:
-n : 非GUI 模式执行JMeter
-t : 执行测试文件所在的位置及文件名
-r : 远程将所有agent启动用在分布式测试场景下,不是分布式测试只是单点就不需要-r
-l : 指定生成测试结果的保存文件, jtl 文件格式
-e : 测试结束后,生成测试报告
-o : 指定测试报告的存放位置
-o 指定的文件及文件夹,必须不存在 ,否则执行会失败,对应上面的命令就是resultReport文件夹必须不存在否则报错
如上命令执行,可以看到控制台开始打印数据了
2.使用之前的测试结果,生成测试报告
./jmeter -g baidu_requests_results.jtl -e -o /home/tester/apache-jmeter-3.0/resultReport
-g : 指定已存在的测试结果文件
-e :测试结果后,生成测试报告
-o : 指定测试报告的存放位置
-o 指定的文件及文件夹,必须 不存在 ,否则执行会失败
第一种和第二种其实最终都依赖生成的jtl文件,将jtl文件生成测试报告。双击测试报告中的index.html文件即可查看报告内容
举例:
1、新建jmx脚本:
2、脚本命令:
jmeter -n -t D:\apache-jmeter-3.0\testplan\baidu.jmx -l D:\apache-jmeter-3.0\testplan\result.jtl -e -o D:\apache-jmeter-3.0\testplan\TestReport
3、查看线上报告