zoukankan      html  css  js  c++  java
  • JMeter命令模式下动态设置线程组和持续时间等动态传参

    一、前言

    在我们使用命令行进行脚本压测的时候,线程数一般是写死的,每次想要修改的时候,都是需要通过jmeter的GUI界面,这种方法比较繁琐,那么有没有比较好的解决方案呢,答案肯定是有的。

    二、解决方案

      改进前

      ./jmeter -n -t CloudStorage/CloudStorage.jmx -l CloudStorage/CloudStorage.jtl

      1、指定运行多少线程

      JMeter提供了方法可以动态修改属性,在命令行使用 -J 来指定JMeter Properties,使用__P() 函数来获取命令中指定的属性值

      那么可以修改为:

      ./jmeter  -JthreadNum=20 -Jtime=300  -Jtime=10 -n -t CloudStorage/CloudStorage.jmx -l CloudStorage/CloudStorage.jtl 

    参数说明:

    JthreadNum=20为CloudStorage.jmx测试计划要指定的线程数

    -Jcycle=300为log.jmx测试计划要指定的每个线程的迭代次数

    -Jtime=10为log.jmx测试计划要指定的持续运行时间

      2、修改CloudStorage.jmx文件,接收动态属性的值

     在CloudStorage.jmx测试计划中用{__P(threadNum,)}来获取threadNum的值;{__P(cycle,)}来获取cycle的值,${__P(time,)}来获取time的值

    备注:

    当访问的URL和端口都修改了,可以使用 Durl=www.baidu.com -Dport=80,来动态传值,命令行为:

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

    脚本为:

     三、小结

    使用-J -D在运行前动态设置属性,可以用来控制测试计划的执行,在非GUI方式运行时还是比较方便的。自然性能测试自动化时我们可以利用这些命令行参数来动态指定属性,不用再修改脚本了。

    参考:

    官网全部命令行参数详解

    知道、想到、做到、得到
  • 相关阅读:
    JS实例
    第一章 机器学习基础
    事件与信号
    微信公众号开发实例
    php学记笔记之函数用途
    php漏洞修复 禁用函数
    删除MYSQL账号多于的空用户
    MySql 建表、添加字段、修改字段、添加索引SQL语句写法
    php对二维数据进行排序
    iis支持IPA和APK文件下载
  • 原文地址:https://www.cnblogs.com/Durant0420/p/15503465.html
Copyright © 2011-2022 走看看