JMeter 中的嵌套循环和终止条件

Nested loops and terminating condition in JMeter

我这里有一个情况,我有 2 个循环,

1.Loop Controller (runs n times)
   2. While Controller (exits based on HTTP response below || after some time gap)
     3. HTTP Sampler

现在,我计划编写一个 Beanshell Post 处理器,以便它解析 HTTP 结果并更新一个 ${TERMINATION_CONDITION} 变量,该变量可用于 While 循环终止。

但是,我希望重置 ${TERMINATION_CONDITION} 以便当最外层循环(即循环控制器)第二次进入时,它允许重新执行内部 While 循环.

在我的例子中,这没有发生,因为 ${TERMINATION_CONDITION} 没有正确更新。

我的问题是:

  1. 如果我在下面添加一个 post 处理器,什么时候执行 a) HTTP 采样器 parent b) While 循环控制器为 parent c) 循环控制器为 parent

  2. 如何在内部循环迭代后重置变量?

请帮我理解。提前致谢!

  1. 关于执行顺序你应该阅读this. If you wanna use Beanshell without it being PostProcessor, you could use Beanshell Sampler。始终牢记 JMeter 遵循测试计划层次结构!
  2. 您可以通过几种不同的方式重置变量。最简单的可能是使用 beanshell 重新初始化它们。只需将一个 Beanshell Sampler 放在循环的末尾,然后在其中重置您想要的内容。

例如

vars.put("variable1", null);
vars.put("variable2", "");
// or what ever you want...