Jmeter,用户定义变量在远程测试时无法识别

时间:2017-09-08 01:33:53

标签: variables testing jmeter distribute

我的Jmeter测试脚本非常简单,如下所示

Thread Group
   - User Defined Variable
       : log_prefix="test"
   - HttpRequest
       : host=www.abc.com, path=/
   - SummaryReport
       : filename = ${log_prefix}_my.log

本地测试一切正常,但远程测试有点奇怪。

我希望得到" test_my.log"文件,但SummaryReport创建" $ {log_prefix} _my.log"文件在' bin' 。目录

我认为用户定义变量在进行远程测试时不会影响Listener(摘要报告)。有什么问题?

1 个答案:

答案 0 :(得分:0)

除了测试开发和/或调试之外,不要使用侦听器。在测试完成后,您可以从.jtl结果文件获取所有必要信息,无需在测试运行期间启用侦听器。

如果由于某种原因您无法使用此设置,则可以使用__P() function作为解决方法。

  • user.properties 文件中定义log_prefix(位于JMeter安装的“bin”文件夹中),如:

    log_prefix=test
    

    设置它的另一种方法是通过-G command-line argument传递log_prefix属性值,如:

    jmeter -Glog_prefix=test -n -t test.jmx -r slave1, slave2 -l result.jtl
    
  • 更改您的侦听器以使用属性而不是变量,如:

    ${__P(log_prefix,)}_my.log
    
  • 就是这样,JMeter应该用log_prefix属性值替换函数定义。

参考文献: