Jmeter中接受命令行变量
做性能测试的时候,有时候可能需要不停的去设置“线程组”那个界面的参数(例如线程数、循环次数、持续时间等),而每次修改–>保存–>cmd中运行总感觉麻烦,那就找一种方法可以在命令行中直接指定参数的值。
查看相关资料实操,可以发现JMeter的测试计划在运行Sampler之前会先加载运行属性(jmeter.properties,system.properties等)文件,而且JMeter还提供了方法可以动态修改属性,在命令行中使用【-J】 来指定JMeter Properties,脚本里面使用__P() 函数来获取命令中指定的属性值,那么方法就出来了。
如同下图设置并发数量,默认100, 持续时间默认是600s
之后用非gui运行的命令就是:
jmeter -n -t jmeter-test.jmx -J Number=1000 -J duration=6000 -l test.jtl
sh jmeter.sh -n -t /Users/jinyan/00B_TestData/0220-test.jmx -J Number=5 -J loop=5 -l 0220-test2.jt
-J Number=5分开或者连城JNumber都可以运行的。
-J后面跟的就是变量名=变量值。
此次测试相当于:1000个并发,运行6000s。
-l后面跟的是结果文件,jtl格式文件。注意是L的小写。
除了参数 -J 还有一个参数是 -G
1、格式:-J变量名=值 -G变量名=值
2、相同之处:设置jmeter属性,例如线程数、循环次数、ramp up-time等
3、不同之处:-J是设置本地jmeter属性;-G是设置server的jmeter属性(只有设置了远程机,开启了远程服务,才需要用到-G)