jmeter非gui模式修改线程属性进行性能测试
在使用JMeter进行性能测试自动化时,如果按照平常的非Gui模式就是脚本每次修改参数都需要在gui模式下修改保存之后,然后在非gui模式之后运行,这样太消耗时间成本,现在有新的方法,JMeter提供了方法可以动态修改属性
直接在脚本上进行修改即可以了
但是性能测试自动化是以非GUI方式运行的,解决方法如下
1.指定运行多少线程
我们知道JMeter测试计划在运行Sampler之前先加载运行属性(jmeter.properties,system.properties等),那么我们可以借助属性来完成。
JMeter提供了方法可以动态修改属性,在命令行使用 -J 来指定JMeter Properties
(jmeter.bat -help | jmeter.sh -help可以看到帮助),使用__P() 函数来获取命令中指定的属性值。
看一下实例:
线程数需要改变,以及持续时间,启动时间,访问的目标地址变化了,端口也变化了,那么重新指定用下面的的方法:
JMeter 命令行通过-D来指定System Properties,类似于Jdk中我们用-D来指定一些系统属性,比如开启JMX远程监控。
在JMeter脚本中我们用__property()函数来获取,比如-Durl=www.baidu.com在测试计划中用${__property(url,,)}来获取
运行命令如下:
jmeter -JthreadCount=2 -JRanpup=1 -Jcycle=2 -Jtime=40 -Durl=www.baidu.com -Dport=80 -n -t baidu.jmx -l baidu.jtl
说明:
threadCount=2为baidu.jmx测试计划要指定的线程数
-Jcycle=2为baidu,jmx测试计划要指定的每个线程的迭代次数
-JRanpup=1为baidu,jmx测试计划要指定的线程启动时间
在baidu.jmx测试计划中用${__P(threadCount,)}来获取threadCount的值
${__P(cycle,)}来获取cycle的值
${__P(time,)}获取持续时间
${__property(url,,)}获取服务器ip
运行结果如下