对于性能测试初学者来说,使用 GUI 模式即界面模式运行 JMeter 测试脚本比较方便操作和看到测试结果,但界面模式下运行测试脚本时,JMeter 本身就会消耗机器的系统资源。
真正在跑场景的时候,我们并不会在界面模式下运行测试脚本,而是使用命令行模式即非 GUI 模式运行 JMeter 测试脚本。
这种模式能够大大缩减 JMeter 本身消耗的系统资源,也非常便于执行,不需要启动界面,只需要在命令行输入命令即可。另外,到后期如果要实现持续集成,可通过 shell 脚本命令执行。
下面我们来学习一下如何在非 GUI 模式下运行测试脚本。
测试步骤
打开DOS命令行窗口(cmd窗口),然后进入存放脚本的目录
-
在命令行输入:jmeter -n -t webtours.jmx -l webtours_res.jtl -j webtours_log.log -r -X
-n:非 GUI 模式运行。
-t:指定要执行的脚本文件。
-
-l:指定保存测试统计结果文件,结果文件格式是 jtl 或者 csv,下面以 jtl 为例讲解。
若不指定 jtl 测试结果文件路径,测试完成后生成 jtl 文件路径默认同 jmx 脚本路径。
-
除了默认路径,也可以让 jtl 文件生成到其他路径下,路径可以设置绝对路径。笔者 C 盘下创建了reports 目录,设置如下:jmeter -n -t webtours.jmx -l C:\reports\webtours_res.jtl -j webtours_log.log -r -X;
也可以设置相对路径。笔者 JMeter 下创建了 reports 目录,测试脚本存放在 JMeter 下的 scripts 目录,设置如下:jmeter -n -t webtours.jmx -l ..\reports\webtours_res.jtl -j webtours_log.log -r -X。
若 jtl 文件路径不存在,JMeter 会自动创建文件。
-
-j:指定 log 日志文件。
若不指定 log 日志文件路径,测试完成后生成 log 文件路径默认同 jmx 脚本路径。
-
除了默认路径,也可以让 log 文件生成到其他路径下,路径可以设置绝对路径。笔者 C 盘下创建了 logs 目录,设置如下:jmeter -n -t webtours.jmx -l webtours_res.jtl -j C:\logs\webtours_log.log -r -X;
也可以设置相对路径。笔者 JMeter 下创建了 logs 目录,测试脚本存放在 JMeter 下的 scripts 目录,设置如下:jmeter -n -t webtours.jmx -l webtours_res.jtl -j ..\logs\webtours_log.log -r -X。
若 log 文件路径不存在,JMeter 会自动创建文件。
-r:启动所有远程负载机;
-X:在非 GUI 模式运行时,运行完测试后自动退出运程主机,即断开连接。
查看测试结果
运行完脚本得到测试结果文件后,我们可以在察看结果树或者聚合报告中打开查看。
另外,日志文件也可以直接打开查看。