一、应用场景
日常测试过程中发现,在大数量并发时,jmeterGUI界面经常宕机、卡死,在这种情况下我们就需要使用命令行来执行脚本了(非GUI模式)。
二、命令行模式优点
1、节约系统资源,无需启动界面
2、便捷快速:仅需启动命令行,输入命令便可执行
3、易于持续集成:可通过shell脚本命令执行
三、参数详解
四、无界面单机执行
为方便管理起见,在Jmeter安装目录下的bin目录下创建一个文件夹testscript用来存放脚本(.jmx文件),再创建一个文件夹testresult用来存放脚本执行后的结果文件。
结果文件是可以在Jmeter可视化界面打开的,它保存了脚本执行过程中的各种结果非常全面,结果树、聚合报告、表格查看结果等都可以将它打开看到响应的数据。执行方法:
Windows
1、cmd打开命令行模式
2、切换到Jmeter安装目录下的bin目录下
3、执行命令:jmeter -n -t testscript\Baidu.jmx -l testresult\01-reslut.jtl(执行结果文件也可以保存为.cvs后缀)
在脚本运行过程中,由于无界面,命令窗口会每隔一段时间打印一下当前的运行状态,你会在窗口中看到类似下面的信息:
summary+ 是开始这个时点的报告。
summary= 是总结它之前的报告,呈现出的是当前时点之前总的情况,通常是均值。
最后一个summary=是本次压测总的情况,如果脚本按时正常结束的话,最后一次summary里面的值应该和你从GUI打开聚合报告或概括报告的值一致。
Linux
1、使用linux命令进入Jmeter安装目录下的bin目录
2、执行命令:jmeter -n -t testscript\Baidu.jmx -l testresult\01-reslut.jtl(执行结果文件也可以保存为.cvs后缀)
3、把结果文件下载到windows机器上,使用Jmeter打开结果文件
五、无界面分布式压测
当并发量过大单机无法承担需要做分布式压测,分布式的配置同以前文章介绍的一样,再次不做赘述。
执行方法:
1、把脚本和参数文件存放到各台终端相同目录下
2、将每台终端的jmerter-server.bat打开等待主机发号施令
3、在主机命令窗口键入类似以下命令:
jmeter.bat -n -t testscript/Baidu.jmx -R 192.168.182.129:1100,192.168.182.130:1200 -l testresult/01-result.jtl
命令中-R代表远程 remote ,后面跟随的是每台终端机jmeter-server窗口显示的 ip 和端口,同样,多台终端之间由逗号隔开,其他都与单机命令一样。于是可以看到各台终端机的jmeter-server窗口有关运行和阶段性summary的信息直至运行结束。总体的报告都在你主机保存的那个.jtl文件里。
执行结果: