前言
使用非 GUI 模式,即命令行模式运行 JMeter 测试脚本能够大大缩减所需要的系统资源。优点如下:
1、节约系统资源:无需启动界面,节约系统资源
2、便捷快速:仅需启动命令行,输入命令便可执行,是为命令达人最爱
3、易于持续集成:可通过shell脚本命令执行
本文介绍linux下以命令行模式运行的方法。
sh jmeter.sh -n -t <testplan filename> -l <listener filename> 示例: sh jmeter.sh -n -t test.jmx -l test.jtl 示例含义:则表示以命令行模式运行testplan.jmx文件,输出的日志文件为test.jtl。 日志默认输出路径同jmx脚本路径。可自行设置绝对路径
一、运行及查看结果
1、进入\jmeter\bin目录,执行命令,如下图:
2、查看结果
上述的命令有要求测试结果保存到test.jtl中,如果需要可以在GUI模式下查看测试报告。
步骤:打开Jmeter GUI界面 -> 在测试计划下,添加对应的测试报告元件(聚合报告、查看结果树) -> 选择对应的日志文件。
??需要看什么报告,就添加什么报告测试元件!!!
具体见下图:
二、参数化常用变量
在linux中,使用非gui的方式执行jmeter。若需更改参数,必须先编辑jmx文件,找到对应的变量进行修改,比较麻烦。因此可以参数化一些常用的变量,直接在Jmeter命令行进行设置。
__P:设置属性的默认值。有两个参数:变量名,默认值(默认值为1)。
例如:${__P(hostname,XXX)}:返回属性hostname的值,如果没有定义该属性则返回值XXX
1、以设置本地jmeter属性为例,先在windows下编辑脚本,将线程数、循环次数、ramp up-period等参数化。
如下图:定义四个变量和变量对应的默认值。
例如${__P(threadNum,1)},表示变量threadNum的默认值为1。
sh jmeter.sh -n -t /home/ubuntu/jmeter1/test.jmx -J threadNum=10 -J period=30 -J time=45 -l /home/ubuntu/jmeter1/test.jtl
3、再次运行脚本时,无需编辑脚本,只需要在执行命令中更改threadNum、period和time的值,即可修改线程属性.
三、非 GUI 模式运行测试脚本可以使用的命令
-h 帮助 -> 打印出有用的信息并退出
-n 非 GUI 模式 -> 在非 GUI 模式下运行 JMeter
-t 测试文件 -> 要运行的 JMeter 测试脚本文件
-J 是设置本地jmeter属性,引用变量参数
-G 是设置server的jmeter属性
-l 日志文件 -> 记录结果的文件
-r 远程执行 -> 在Jmter.properties文件中指定的所有远程服务器
-H 代理主机 -> 设置 JMeter 使用的代理主机
-P 代理端口 -> 设置 JMeter 使用的代理主机的端口号
以上对你有帮助的话,点个赞吧~??