我的jmeter测试脚本非常简单,如下
Thread Group
- User Defined Variable
: log_prefix="test"
- HttpRequest
: host=www.abc.com, path=/
- SummaryReport
: filename = ${log_prefix}_my.log
本地测试是一切正常的,但是远程测试有点奇怪。
我期望获得" test_my.log"文件,但摘要restrect create" $ {log_prefix} _my.log"文件中的'bin'目录。
我认为用户定义的变量在进行远程测试时不会影响侦听器(摘要报告)。有什么问题?
除了测试开发和/或调试外,不要使用听众进行任何其他操作。您可以从.jtl
结果文件中获取所有必要的信息,您的测试完成了,在测试运行期间无需启用侦听器。
如果由于某种原因无法没有这种设置,则可以将__p()函数用作解决方法。
-
在 user.properties 文件中定义
log_prefix
(位于jmeter安装的" bin"文件夹中),例如:log_prefix=test
设置的替代方法是通过
-G
命令行参数传递log_prefix
属性值:jmeter -Glog_prefix=test -n -t test.jmx -r slave1, slave2 -l result.jtl
-
更改您的侦听器以使用属性而不是:
${__P(log_prefix,)}_my.log
-
就是这样,Jmeter应该用
log_prefix
属性值替换功能定义。
参考:
- 远程测试
- Apache Jmeter属性自定义指南
- 配置Jmeter