我有一个要求,我想控制Jmeter运行(定时与非定时),所以我在计划中有类似的东西。
<elementProp> name="SCHEDULER_VAR" elementType="Argument">
<boolProp> name="Argument.name">SCHEDULER_VAR</boolProp>
<boolProp> name="Argument.value">${__property(scheduler,,false)</boolProp>
<boolProp> name="Argument.metadata">=</boolProp>
</elementProp>
....
....
<boolProp name="ThreadGroup.scheduler">${SCHEDULER_VAR}</boolProp>
我使用-Jscheduler = true从命令行运行jmeter(并设置其他参数,如duration,delay),但它总是将ThreadGroup.scheduler设置为false,导致无限运行,做了我自己的调整,但没有太大的成功。我确实在jmeter AbstractTestElement中看到了一个getPropertyAsBoolean方法,但不知道如何修改XML以将属性读取为boolean。
答案 0 :(得分:0)
我想我找到了解决方案,将上面显示的所有内容声明为stringProp,这样我们就可以从命令行覆盖任何参数,下面的代码可以正常运行来创建定时运行。
<elementProp> name="SCHEDULER_VAR" elementType="Argument">
<stringProp> name="Argument.name">SCHEDULER_VAR</stringProp>
<stringProp> name="Argument.value">${__property(scheduler,,false)</stringProp>
<stringProp> name="Argument.metadata">=</stringProp>
</elementProp>
....
....
<stringProp name="ThreadGroup.scheduler">${SCHEDULER_VAR}</stringProp>
然后使用-Jscheduler = true运行带有持续时间和延迟的jmeter进行定时运行。