【问题标题】:jmeter pass command line variables into a jmxjmeter 将命令行变量传递到 jmx
【发布时间】:2013-11-18 09:22:53
【问题描述】:

我正在尝试自动化一些性能测试。我想从 Jenkins 工作中将服务器位置传递给通用 jmx。我希望能够做类似的事情:

jmeter -n -t foo.jmx -JtestingIP=IP

并让 foo.jmx 接听testingIP。

这样做的正确方法是什么?当我运行该 jmeter 命令时,它表示变量已被存储,但将 ${testingIP} 或 ${\_\_P(testingIP,)} 插入 jmx 会导致 ${testingIP} 或 ${\_\_P(testingIP,)} 被解释为只是一个字符串。

我做错了什么/根本没有做什么?这甚至可能吗?

【问题讨论】:

    标签: variables jmeter jmx


    【解决方案1】:

    您需要做的就是使用 -J 选项从命令行(或 shell)启动 JMeter。 例如:

    -JTestIP=10.0.0.1

    在您的脚本中,要获取值,只需使用函数 _P:

    例子:

    ${__P(TestIP)}
    

    应该可以的。

    注意你应该设置一个默认值,以防你运行脚本而不传递 JMeter 属性,例如:

    ${__P(TestIP,1.1.1.1)}

    【讨论】:

    • 在 jmeter 3.0 中工作。谢谢!
    • 它对我有用。我正在使用 Jmeter Java 1.0
    【解决方案2】:

    看看这个链接http://mkbansal.wordpress.com/2012/08/01/jmeter-command-line-script-execution-with-arguments/。另外我会尝试指定默认值,例如${__P(testingFromCommandLineIP,defaultIP)} where testingFromCommandLineIP -- 您在从命令行运行测试计划时指定的参数,defaultIP -- 默认值

    【讨论】:

      【解决方案3】:
      1. 在 Jmeter GUI 中打开 Jmeter 文件 (jmx) 并添加参数,如下图所示:

      点击保存按钮。

      1. 现在,使用此参数运行命令,例如:

        jmeter -t TestPlan.jmx -Jthreads=10 -Jcount=50 -Jrumpup=5 
        

      【讨论】:

        【解决方案4】:

        您有两个选项可以向 jmeter 发送参数。

        First:设置系统属性值。

        -Dproperty=value
        

        如果 value 是包含空格的字符串,则必须将字符串括在双引号中。

        例子:

        java -Dmydir="some string" -jar ApacheJmeter.jar -n -t PerformanceTest.jmx 
        

        在jsr223 beanshell中读取参数:

        log.info("mydir:" + System.getProperty("mydir"));
        

        使用 Bean Shell 函数读取请求采样器中的参数:

        ${__BeanShell(System.getProperty("mydir"))}
        

        第二:定义一个本地JMeter属性

        -J[prop_name]=[value]
        

        例子:

        jmeter -n -t PerformanceTest.jmx -Jmyparamter=4 -Jduration=300
        

        使用 Bean Shell 函数读取请求采样器中的属性:

        ${__P(duration)}
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-04-29
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2019-02-16
          • 2017-12-15
          相关资源
          最近更新 更多