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} 没有正确更新。
我的问题是:
如果我在下面添加一个 post 处理器,什么时候执行
a) HTTP 采样器 parent
b) While 循环控制器为 parent
c) 循环控制器为 parent
如何在内部循环迭代后重置变量?
请帮我理解。提前致谢!
- 关于执行顺序你应该阅读this. If you wanna use Beanshell without it being PostProcessor, you could use Beanshell Sampler。始终牢记 JMeter 遵循测试计划层次结构!
- 您可以通过几种不同的方式重置变量。最简单的可能是使用 beanshell 重新初始化它们。只需将一个 Beanshell Sampler 放在循环的末尾,然后在其中重置您想要的内容。
例如
vars.put("variable1", null);
vars.put("variable2", "");
// or what ever you want...
我这里有一个情况,我有 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} 没有正确更新。
我的问题是:
如果我在下面添加一个 post 处理器,什么时候执行 a) HTTP 采样器 parent b) While 循环控制器为 parent c) 循环控制器为 parent
如何在内部循环迭代后重置变量?
请帮我理解。提前致谢!
- 关于执行顺序你应该阅读this. If you wanna use Beanshell without it being PostProcessor, you could use Beanshell Sampler。始终牢记 JMeter 遵循测试计划层次结构!
- 您可以通过几种不同的方式重置变量。最简单的可能是使用 beanshell 重新初始化它们。只需将一个 Beanshell Sampler 放在循环的末尾,然后在其中重置您想要的内容。
例如
vars.put("variable1", null);
vars.put("variable2", "");
// or what ever you want...