zoukankan      html  css  js  c++  java
  • JMeter非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方式运行时还是比较方便的。

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

    转载至:http://mp.weixin.qq.com/s?__biz=MjM5Mjg0MzMzMw==&mid=212445083&idx=2&sn=15ea97c18f485441f81cce518a0256b2&scene=1&srcid=09132wLoTUjuurWCPymOoGWm&key=dffc561732c226515ef41e246271369d0cc6918c66e3b6308bb0ff1d4ad1613691de68bfd1bda18d07189d35d0e3b91f&ascene=1&uin=MjI2NjMxMjUyMw%3D%3D&devicetype=Windows+7&version=6102002a&pass_ticket=iANFcji5Nai8Zaj%2BQcw1%2BQNVnqqn9kcLQ98itkycAGBhKBJamfnnVc23cpkwNTJ6

  • 相关阅读:
    sqli-labs lexx25-28a(各种过滤)
    sqli-labs less-24(二次注入)
    sqli-labs less13-20(各种post型头部注入)
    sql注入之双查询注入
    sqli-labs less11-12(post型union注入)
    sqli-labs less8-10(布尔盲注时间盲注)
    sqli-labs less-7(文件读写)
    Vue ref childNode 坑
    Blob
    中文输入法不触发onkeyup事件的解决办法Script
  • 原文地址:https://www.cnblogs.com/Grace7582/p/4808201.html
Copyright © 2011-2022 走看看