在 JMeter 测试计划中,我有 4 个线程组,它们将连续执行,但是某些变量从一个线程组到另一个线程组存在依赖性,因此,如果前一个线程组中的任何采样器失败,后续线程的执行团体应该停止。
测试计划:
每个线程组都是一个简单的线程组[不是setUp或tearDown线程组]
如何控制或决定 JMeter 中的线程组执行流程/顺序?
在 JMeter 测试计划中,我有 4 个线程组,它们将连续执行,但是某些变量从一个线程组到另一个线程组存在依赖性,因此,如果前一个线程组中的任何采样器失败,后续线程的执行团体应该停止。
测试计划:
每个线程组都是一个简单的线程组[不是setUp或tearDown线程组]
如何控制或决定 JMeter 中的线程组执行流程/顺序?
最快最简单的方法是在线程组级别发生错误时停止测试
如果您想要更大的灵活性,您可以通过在If ControllerHTTP Request B2
中使用${JMeterThread.last_sample_ok}
预定义变量来检查这是否成功,然后您可以将Flow Control Action添加为此 If Controller 的子项,并决定您想在那里做什么。
这与第 2 点非常相似,如果您的线程组C
并D
依赖线程组中的变量,B
您可以将所有采样器放在If Controller
您可以设置线程组中的线程数C
并D
使用__P() 函数,${__P(threads,)}
如果有值,您可以使用__setProperty() 函数将此threads
属性设置为0
- 没有“启动”具有 0 个线程的线程组
您需要将状态(标志)从前一个线程组传递给后续线程组。在执行后续线程组中的请求之前,应评估状态。
您可以使用 JMeter 属性在线程组之间传递值。
props.put('canContinue',true)
从 JSR223 元素中使用状态或${__P(canContinue,true)}
在后续线程组中,您可以使用 If 控制器检查状态
${__groovy(!props.get("canContinue"),)}
将 Flow Control Action 采样器添加到 If Controller 并设置您想要执行的操作。