0

在 JMeter 测试计划中,我有 4 个线程组,它们将连续执行,但是某些变量从一个线程组到另一个线程组存在依赖性,因此,如果前一个线程组中的任何采样器失败,后续线程的执行团体应该停止。

测试计划:

每个线程组都是一个简单的线程组[不是setUp或tearDown线程组]

如何控制或决定 JMeter 中的线程组执行流程/顺序?

4

2 回答 2

1
  1. 最快最简单的方法是在线程组级别发生错误时停止测试

    在此处输入图像描述

  2. 如果您想要更大的灵活性,您可以通过在If ControllerHTTP Request B2中使用${JMeterThread.last_sample_ok} 预定义变量来检查这是否成功,然后您可以将Flow Control Action添加为此 If Controller 的子项,并决定您想在那里做什么。

  3. 这与第 2 点非常相似,如果您的线程组CD依赖线程组中的变量,B您可以将所有采样器放在If Controller

  4. 您可以设置线程组中的线程数CD使用__P() 函数${__P(threads,)}如果有值,您可以使用__setProperty() 函数将此threads属性设置为0- 没有“启动”具有 0 个线程的线程组

于 2021-08-13T06:24:10.760 回答
0

您需要将状态(标志)从前一个线程组传递给后续线程组。在执行后续线程组中的请求之前,应评估状态。

您可以使用 JMeter 属性在线程组之间传递值。

  1. props.put('canContinue',true)从 JSR223 元素中使用状态或
  2. 通过 JMeter 函数设置属性${__P(canContinue,true)}

在后续线程组中,您可以使用 If 控制器检查状态

${__groovy(!props.get("canContinue"),)}

将 Flow Control Action 采样器添加到 If Controller 并设置您想要执行的操作。

在此处输入图像描述

于 2021-08-13T06:54:54.580 回答