我已经配置了Jmeter并对它进行了dockerized,允许用户通过docker run将3个参数传递给命令行
- 主题
- 循环计数
- 持续时间
现在,我想让用户选择通过循环计数或通过持续时间在特定时间内对特定数量的循环运行特定测试。但问题是如果用户提供loopCount
但不提供Duration
测试失败,但如果在JMeter测试中禁用了Scheduler,则测试成功。但是,如果禁用调度程序,则用户将值传递给Duration
参数将不会被接受。只是想知道是否有办法根据用户传递的参数在Jmeter中启用/禁用调度程序。
当用户提供loopCount时,它优先于持续时间。
所以控制持续时间:
要通过loopCount控制:
或者,编辑jmx文件并替换:
<boolProp name="ThreadGroup.scheduler">false</boolProp>
并使用__P函数:
<boolProp name="ThreadGroup.scheduler">${__P(enableScheduler)}</boolProp>
并在命令行中启用持续时间:
-JenableScheduler =真
禁用它的使用:
-JenableScheduler = FALSE
如果您想了解有关JMeter和性能测试的更多信息,book可以为您提供帮助。