欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Jmeter命令行执行脚本如何设置动态参数

程序员文章站 2022-05-12 12:36:20
最近看到在linux上折腾jmeter的人越来越多,不过即使在windows上,jmeter的脚本我还是建议用命令行来执行(降低gui模式带来的性能损耗,不过拿jmeter来做接口测试的无所谓)。做性...

  最近看到在linux上折腾jmeter的人越来越多,不过即使在windows上,jmeter的脚本我还是建议用命令行来执行(降低gui模式带来的性能损耗,不过拿jmeter来做接口测试的无所谓)。做性能测试的时候,有时候可能需要不停的去设置“线程组”那个界面的参数(例如线程数、循环次数、持续时间等),而每次修改-->保存-->cmd中运行总感觉麻烦,那就找一种方法可以在命令行中直接指定参数的值。

  查看相关资料实操,可以发现jmeter的测试计划在运行sampler之前会先加载运行属性(jmeter.properties,system.properties等)文件,而且jmeter还提供了方法可以动态修改属性,在命令行中使用【-j】 来指定jmeter properties,脚本里面使用__p() 函数来获取命令中指定的属性值,那么方法就出来了。

Jmeter命令行执行脚本如何设置动态参数

配置说明:

1、并发数设置为${__p(concurrent_number,1)},循环次数取消勾选forever,设置为${__p(cycles,1)},其中后面的1是默认值,作用是执行一次来调试脚本,这是__p函数的功能(虽然我一直都是用gui模式来调试脚本的)

2、执行时长设置为${__p(duration,60)},默认1分钟(60s),如果同时设置了循环次数和执行时长,那么满足其中一个条件脚本就会停止。

那么先试试吧,默认执行脚本,命令行如下:

jmeter -n -t \tmp\cnblgo.jmx(脚本的绝对路径)

Jmeter命令行执行脚本如何设置动态参数

从上图可以看出,脚本执行了一次,持续了0.7s,是ok的。

查看jmeter的源码,可知执行次数=-1时即表示forever。以50并发执行120s的命令行如下:(为了直观,我直接生成测试报告用web界面的形式看,否则-l后面的可以不写)

jmeter -n -t c:\users\zhoulinjie\desktop\cnblgo.jmx -jconcurrent_number=50 -jduration=120 -jcycles=-1 -l report.jtl -e -o c:\users\zhoulinjie\desktop\report

打开生成的测试报告文件,index.html,如下:

Jmeter命令行执行脚本如何设置动态参数

  还有其他的组合就不截图了,需要什么参数,直接用-j+${}+__p()即可。同理,线程组界面中的ramp-up period(in seconds)也是可以通过这种方式设置的。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。