性能测试

JMeter命令行模式 / Non-GUI模式:生成测试报告

2018-12-15  本文已影响342人  Fighting_001

一、背景

For load testing, you must run JMeter in this mode (Without the GUI) to get the optimal results from it.
对于负载测试,为了获得最佳测试结果,最好是在Non-GUI模式下运行JMeter进行测试。

GUI模式启动JMeter本身也会占用一定的计算机内存,对于资源有限的情况下,执行大量并发测试时,GUI模式可能会降低性能测试发挥的最大潜能

二、Non-GUI Mode (Command Line mode)

-n  指定JMeter以非GUI模式运行
-t  包含测试计划的jmx文件的名称(.jmx测试脚本)
-l  记录样本结果日志的jtl文件名称
-j  JMeter运行日志文件名称
-r  在JMeter属性"remote_hosts"所指定的服务器中运行测试
-R  [远程服务器列表]在指定的远程服务器上运行测试
-g  [CSV文件路径]只生成报表
-e  负载测试后生成报表
-o  负载测试完成后,用于存放所生成报表的文件夹(文件夹必须不存在or文件夹内为空)

e.g.

jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
jmeter -n -t [jmx file] -l [results file] -R host1,host2 -e -o [Path to web report folder]

脚本还允许指定可选的防火墙/代理服务器信息:

-H  代理服务器主机名或ip地址
-P  代理服务器端口

e.g.

jmeter -n -t my_test.jmx -l log.jtl -H my.proxy.server -P 8000

三、以命令行模式执行JMeter测试

1.预先准备

在测试项目目录下,新建3个文件夹:

JM_LogResult:跟于-l之后,用来存放测试生成的.jtl日志文件(初始为空)
JM_Report:跟于-e -o之后,用于存放负载测试所生成的报表(初始为空)
JM_Script:跟于-t之后,指定被测的.jmx脚本文件
JM_Script文件夹中存放有预先录制配置好的脚本:ecs_Login_Concurrent.jmx

【-----Important!-----】

  1. 对于JMeter4.0,若要保证命令行执行测试ok,若脚本中添加有监控服务器资源的监听项 [jp@gc-PerfMon Metrics Collector],则以命令行执行之前,需要先在JMeter的GUI界面中该监听项的【Filename】中配置路径,与命令中.jtl文件的存放目录一致(如:E:\CI_Env\JM_LogResult)

PS:若不需要监听服务器资源,则可在测试脚本中对 [jp@gc-PerfMon Metrics Collector]设置为暂停状态(Disable),然后再执行脚本的测试

  1. 若在GUI界面执行,则可启用监听项 [jp@gc-PerfMon Metrics Collector]设置为正常启用状态(Enable),并在【Write results to file/Read from file】选项中选择某个.jtl文件的绝对路径(如:E:\CI_Env\JM_LogResult\123.jtl),然后再执行测试,即可在GUI界面展示出服务器资源监控的图表变化曲线

2.执行测试

操作命令:

jmeter -n -t E:\CI_Env\JM_Scripts\ecs_Login_Concurrent.jmx -l E:\CI_Env\JM_LogResult\123.jtl -e -o E:\CI_Env\JM_Report

PS:以上JM_LogResult目录下的123.jtl,为自定义命名,非固定名称

1)若初始的JM_LogResult、JM_Report 文件夹为非空时,执行测试的效果如下:不能正常执行测试

2)将JM_LogResult、JM_Report 文件夹清空里面的文件,保持为空,再次执行测试:此时已可正常执行成功

3.测试报告查看

执行完成之后自动生成的文件:

在浏览器中打开JM_Report目录下的 index.html,即可查看测试报告的具体内容:

还可以在Charts导航栏中查看子栏目下某个测试指标的图表曲线走势,如:Response Times

PS:
1)以上在 JM_Report 文件夹下生成的测试报告文件(通过index.html打开),报表中包含测试脚本编写的每个步骤对应的响应时间、吞吐量等(与聚合报告中的数据相对应),以及响应时间、吞吐量的统计图
2)若要查看服务器资源监控的数据记录,可将另外一个文件夹 JM_LogResult 下生成的xxx.jtl文件(记录有执行返回的数据日志),添加到JMeter的GUI界面中监听项 [jp@gc-PerfMon Metrics Collector]设置【Write results to file/Read from file】-Filename位置,添加完成后,界面中自动会读取数据并形成趋势图


参考资料:
[1] Command-line mode (Non GUI / headless mode)

上一篇下一篇

猜你喜欢

热点阅读