从命令行运行Jmeter及jmeter参数说明、Html报告生成
为什么要命令行执行脚本,主要有以下三点:
1) 图形化界面消耗更多资源,CPU和内存
2) 图形化界面不支持大型的负载测试和性能测试
3) 命令行测试支持持续集成,例如放到Jenkins这样的CI工具上。
具体步骤如下。
1. 通过双击jmeter.bat打开JMeter图形界面
2.在默认的Test Plan上创建一个Thread Group
3.在Thread Group上面添加一个Sampler,选择HTTP Request
4.在Thread Group上面添加一个View Results Tree
5.点击Run,在弹出对话框询问是否保存,点击Yes,保存脚本到桌面,CommondLineTest.jmx
6.检查View Results Tree里面的response code 是不是200,
7.通过检查测试通过,说明测试脚本没问题,我们这里选择删除View Results Tree
8.关闭当前JMeter对话框
9. 打开cmd,通过cd命令先切换到JMeter安装路径
例如: cd C:\apache-jmeter-3.2\bin
10. 输入一下命令开始执行测试
运行命令格式:
jmeter -n -t [jmx脚本路径] -l [测试输出文件路径] 如:./jmeter -n -t baidu_requests_results.jmx -r -l baidu_requests_results.jtl
参数解释:
-n: 表示 non gui mode,就是非图形化模式
-t: 表示jmeter脚本的路径
-l:表示输出结果路径,如果没有该文件就自动创建,可以生成csv或者jtl文件。
测试结果:
会在桌面生成一个demo.cvs文件,内容如下:
如果想要生成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
参数说明:
2.使用之前的测试结果,生成测试报告
./jmeter -g baidu_requests_results.jtl -e -o /home/tester/apache-jmeter-3.0/resultReport
第一种和第二种其实最终都依赖生成的jtl文件,将jtl文件生成测试报告。双击测试报告中的index.html文件即可查看报告内容