1. 非GUI模式说明
我们在启动JMeter时,一直会有一个黑色命令行窗口,如下:
窗口中的意思就是:
- 不要将GUI模式用于负载测试!仅用于测试创建和测试调试
- 对于负载测试,使用CLI模式
启动方式:jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
-
可以增加Java虚拟机的堆空间
在bin目录下找到jmeter.bat文件
用记事本打开,找到HEAP="-Xms1g -Xmx1g -XX:MaxMetaspaceSize=256m" ,256改为1024
注意:在做负载测试时,Java Heap内存空间,调整的大一些,可以避免因Java堆内存不足,而终止测试的情况
2. 为什么使用非GUI模式?
- 图形化界面消耗更多资源,如CPU和内存,容易使压力机达到瓶颈,从而影响测试结果
- 图形化界面不支持大型的负载测试和性能测试,并发较大时,jmeter会崩溃
- 命令行方式可以把脚本配置到Jenkins上实现持续集成,做成自动化测试
3. 命令运行Jmeter脚本
3.1 命令参数说明
jmeter -n -t [jmx file] -l [results file] -e -o [Path to web report folder]
参数说明:
-
-n:表示非图形化模式
-
-t:执行jmx脚本路径,也就是我们需要测试的jmx脚本文件
-
-l:后跟输出结果文件路径和结果文件名称
- 若指定路径下没有指定名称的脚本,则自动创建,可以生成csv或者jtl文件
- 若只写脚本名称,则默认是在当前目录查找或创建
-
-e:设置生成测试报表
-
-o:保存测试报表文件夹的路径,该文件夹必须为空或不存在
3.2 运行命令
1.在D:\jmeter\apache-jmeter-5.2.1\bin目录下创建test文件夹,并在test文件夹中创建test_report文件夹用于存放测试报表
2.把待测试的jmx脚本放至test文件夹中
3.打开bin目录下的test文件夹,输入cmd,打开命令窗口,输入命令:
jmeter -n -t testing.jmx -l test.jtl -e -o D:\jmeter\apache-jmeter-5.2.1\bin\test\test\_report
注意:JMeter 默认去当前目录寻找脚本文件,并把日志记录在当前目录
比如你在 D:\jmeter\apache-jmeter-5.2.1\bin\test 目录下执行以上命令,JMeter 会去该目录下寻找 testing.jmx 脚本并把执行结果放在该目录
如果你的脚本在其他目录,而且想要把执行结果放在另外文件夹,需要使用绝对路径告诉 JMeter,比如:
D:\jmeter\apache-jmeter-5.2.1\bin\test>jmeter -n -t C:\Users\Administrator\Desktop\testing.jmx -l C:\Users\Administrator\Desktop\test.jtl -e -o C:\Users\Administrator\Desktop\test\_report
4.查看运行结果