覆盖测试计划

时间:2016-12-30 13:00:49

标签: jmeter

它开始是一些相对简单的事情...格式化侦听器输出文件上的纪元时间戳。 在默认行为上,它为您提供13位的纪元时间戳。但我希望它是人类可读的格式化字符串。

显而易见的解决方案是取消注释jmeter.properties文件中的以下行:

jmeter.save.saveservice.timestamp_format = yyyy / MM / dd HH:mm:ss.SSS

然而,这只适用于我运行的单个测试计划,我不想每次都通过编辑属性文件来改变这种行为(非常不方便,每当我想切换到测试时都需要重启我确实希望纪元时间与数字一起工作的计划

所以我尝试以各种方式覆盖此属性,但失败了。 我尝试使用beanshell脚本或javascript(在预处理器,后处理器,jsr223采样器等...)使用vars.setProperty或使用__setProperty jmeter函数更改它 都失败了。

还看到某处我可以将其作为运行时参数传递,但我使用一些批处理文件启动jmeter,每次我尝试在cmd上传递该行时都会失败。

有没有办法从jmx文件中动态更改此属性?或者我注定要永远编辑属性文件并在每次切换testPlans时重新启动jmeter ...(因为在其中一些我确实想要epoch时间戳)

感谢 TAL

1 个答案:

答案 0 :(得分:0)

在非GUI模式下,使用JMeter Property将值传递为-J,如下所示:

jmeter.bat -n -t "examples\Debug Sampler.jmx" -l examples\log.jtl -Jjmeter.save.saveservice.timestamp_format="yyyy/MM/dd HH:mm:ss.SSS"

它对我有用。

在使用__setProperty的测试计划中,我不知道任何解决方案/解决方法。更改JMeter属性timestamp_format不会导致以更改的格式保存结果。