●前言
使用非 GUI 模式,即命令行模式运行 JMeter 测试脚本可以大大缩减所须要的系统资
第一步:执行命令
先在Jmeter中把要测试的请求配置好,而后去cmd中运行脚本。我这里只用了10条作测试,你们能够调多一点。
命令:jmeter -n -t 口令红包并发测试.jmx -l test.jtl
绝对路径:jmeter -n -t c:\口令红包并发测试.jmx -l c:\test.jtl
JMeter 默认去当前bin目录下寻找脚本文件,并把日志记录在当前目录。好比你在 E:\Jmeter\apache-jmeter-4.0\bin>目录下执行以上命令,JMeter 会去该目录下寻找 口令红包并发测试.jmx脚本并把执行结果放在该目录。
若是你的脚本在其余目录,并且想要把执行结果放在另外文件夹,须要使用绝对路径告诉 JMeter
第二步:查看报告
第一种方法:
上述的命令有要求测试结果保存到Jmeter bin目录中,若是须要能够在GUI模式下查看测试报告。
一、打开Jmeter GUI界面
二、在测试计划下,添加对应的测试报告元件,想看哪一个就能够添加哪一个报告,如:聚合报告、查看结果树、Summary Report测试报告
三、在全部数据写入一个文件,浏览中选择对应的日志文件
四、下面就会有对应的表格展现,具体见下图
第二种方法(生成web报告):
命令:jmeter -n -t 口令红包并发测试.jmx -l result.txt -e -o test/test
PS:
result.txt 为测试结果文件路径
test/test 存放web报告保存路径,若是没有该路径,能够自动生成。
Web报告以下所示:
CMD窗口的提示信息
================================================================================ Don't use GUI mode for load testing !, only for Test creation and Test debugging. For load testing, use NON GUI Mode: jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder] & increase Java Heap to meet your test requirements: Modify current env variable HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" in the jmeter batch file Check : https://jmeter.apache.org/usermanual/best-practices.html ================================================================================
上面的意思就是:不要使用GUI运行压力测试,GUI仅用于压力测试的建立和调试;执行压力测试请不要使用GUI。使用下面的命令来执行测试:
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
而且修改JMeter批处理文件的环境变量:HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m"
命令介绍
jmeter -n -t <testplan filename> -l <listener filename>
示例: jmeter -n -t testplan.jmx -l test.jtlhtml
示例含义:则表示以命令行模式运行testplan.jmx文件,输出的日志文件为test.jtl
参数介绍
这里是咱们使用非 GUI 模式运行测试脚本时能够使用的一些命令,Jmeter官网用户手册介绍以下:
-h, –help -> prints usage information and exit
-n, –nongui -> run JMeter in nongui mode
-t, –testfile <argument> -> the jmeter test(.jmx) file to run
-l, –logfile <argument> -> the file to log samples to
-r, –runremote -> Start remote servers (as defined in remote_hosts)
-H, –proxyHost <argument> -> Set a proxy server for JMeter to use
-P, –proxyPort <argument> -> Set proxy server port for JMeter to useweb
具体的含义以下:apache
-h 帮助 -> 打印出有用的信息并退出服务器
-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter并发
-t 测试文件 -> 要运行的 JMeter 测试脚本文件测试
-l 日志文件 -> 记录结果的文件ui
-r 远程执行 -> 在Jmter.properties文件中指定的全部远程服务器spa
-H 代理主机 -> 设置 JMeter 使用的代理主机命令行
-P 代理端口 -> 设置 JMeter 使用的代理主机的端口号debug
例如:jmeter -n -t test1.jmx -l logfile1.jtl -H 192.168.1.1 -P 8080