在 JMeter 中,我有一个要求,我想在所有其他线程组完成运行后运行特定的线程组,我知道 tearDown 线程组具有类似的行为,但不幸的是,逻辑必须是我的常规线程的一部分。
假设我的测试计划中有 4 个线程组 A、B、C 和 D,我希望线程组 D 仅在 A、B 和 C 完成运行后执行。
我们可以在不使用“一次一个设置、拆卸和运行组”的情况下实现这一目标吗?
问题截图:
在 JMeter 中,我有一个要求,我想在所有其他线程组完成运行后运行特定的线程组,我知道 tearDown 线程组具有类似的行为,但不幸的是,逻辑必须是我的常规线程的一部分。
假设我的测试计划中有 4 个线程组 A、B、C 和 D,我希望线程组 D 仅在 A、B 和 C 完成运行后执行。
我们可以在不使用“一次一个设置、拆卸和运行组”的情况下实现这一目标吗?
问题截图:
我可以建议 2 个选项:
如果由于某种原因您无法使用 JMeter 插件,您可以使用 JMeter 属性实现相同的功能,例如:
当线程组 A 完成设置 JMeter 属性时,即ThreadGroupADone=true
使用 __setProperty() 函数,如
${__setProperty(ThreadGroupADone,true,)}
在线程组 D 中:
在线程组的开头添加While 控制器并使用以下条件:
${__javaScript("${__P(ThreadGroupADone,)}"=="false",)}
ThreadGroupADone
属性值,如果它仍然存在false
- 再休眠 5 秒。当属性值变为true
- 线程组 D 将继续。