Jmter非GUI模式指定参数

在使用JMeter进行性能测试自动化时,可能会有如下需求:

1.指定运行多少线程,指定运行多少次;

2.访问的目标地址变化了,端口也变化了,需要重新指定。

上面的需求如果有GUI方式运行,这都不是问题,直接在脚本上进行修改即可以了。

 

但是性能测试自动化是以非GUI方式运行的,如果要修改测试计划就比较麻烦了。

下面来说说如何简单的搞定这些问题:

1.指定运行多少线程

    我们知道JMeter测试计划在运行Sampler之前先加载运行属性(jmeter.properties,system.properties等),那么我们可以借助属性来完成。

当然了,我们也不会傻到去修改这些配置文件,这多麻烦。JMeter提供了方法可以动态修改属性,在命令行使用 -J 来指定JMeter Properties

(jmeter.bat  -help | jmeter.sh -help可以看到帮助),使用__P() 函数来获取命令中指定的属性值。

看一下实例: 

    jmeter.bat -JthreadCount=2 -Jcycle=2 -n -t baidu.jmx -l baidu.jtl

 threadCount=2为baidu.jmx测试计划要指定的线程数

-Jcycle=2为baidu,jmx测试计划要指定的每个线程的迭代次数

在baidu.jmx测试计划中用${__P(threadCount,)}来获取threadCount的值;${__P(cycle,)}来获取cycle的值。

运行效果如下:

 

2.访问的目标地址变化了,端口也变化了,重新指定:

JMeter 命令行通过-D来指定System Properties,类似于Jdk中我们用-D来指定一些系统属性,比如开启JMX远程监控。

在JMeter脚本中我们用__property()函数来获取,比如-Durl=www.baidu.com在测试计划中用${__property(url,,)}来获取

运行命令如下:

jmeter.bat -JthreadCount=2 -Jcycle=2 -Durl=www.baidu.com -Dport=80 -n -t baidu.jmx -l baidu.jtl

 脚本如下:

 

如上使用-J -D在运行前动态设置属性,可以用来控制测试计划的执行,在非GUI方式运行时还是比较方便的。

自然性能测试自动化时我们可以利用这些命令行参数来动态指定属性,不用再修改脚本了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值