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