我的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(摘要报告)。有什么问题?
答案 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
属性值替换函数定义。
参考文献: