●前言
使用非 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
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 -l
示例: jmeter -n -t testplan.jmx -l test.jtl
示例含义:则表示以命令行模式运行testplan.jmx文件,输出的日志文件为test.jtl
参数介绍
这里是我们使用非 GUI 模式运行测试脚本时可以使用的一些命令,Jmeter官网用户手册介绍如下:
-h, –help -> prints usage information and exit
-n, –nongui -> run JMeter in nongui mode
-t, –testfile -> the jmeter test(.jmx) file to run
-l, –logfile -> the file to log samples to
-r, –runremote -> Start remote servers (as defined in remote_hosts)
-H, –proxyHost -> Set a proxy server for JMeter to use
-P, –proxyPort -> Set proxy server port for JMeter to use
具体的含义如下:
-h 帮助 -> 打印出有用的信息并退出
-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
-t 测试文件 -> 要运行的 JMeter 测试脚本文件
-l 日志文件 -> 记录结果的文件
-r 远程执行 -> 在Jmter.properties文件中指定的所有远程服务器
-H 代理主机 -> 设置 JMeter 使用的代理主机
-P 代理端口 -> 设置 JMeter 使用的代理主机的端口号
例如:jmeter -n -t test1.jmx -l logfile1.jtl -H 192.168.1.1 -P 8080