Jmeter逻辑控制器之while Controller
while Controller的添加方式:
Condition(function or variable)的输入框中写进入循环控制器的条件,可以是Jmeter函数,或者是变量
condition中输入的可能的条件值:
- 不填-循环中的最后一个sample失败时退出循环
- LAST-当循环中的最后一个sample失败时退出循环。如果循环之前的最后一个sample失败,不进入循环。
- 否则当条件等于字符串“ false ” 时退出(或不进入)循环
条件可以是最终计算为字符串“ false ”的任何变量或函数。这允许根据需要使用__jexl3,__groovy函数,属性或变量。
一下为官方文档给出的示例(附图为截图):
- ${VAR} - 被设置成false的VAR或者其他元素
- ${__jexl3(${C}==10)}
- ${__jexl3("${VAR2}"=="abcd")}
- ${P(property)} -被设置成"false"的属性或配置
实战示例:
第一步,创建要给beanshell sampler 声明两个变量a,b 初始值设为1
第二步,添加whileController,并设置循环条件,例如${__javaScript(${a}+${b}!=10)}
在whileController中添加beanshell sampler ,每次循环a+1
在结果树中可以看到最后一次的跳出循环之前的beanshell执行结果:
a=8,a++后a=9,b=1,不满足循环条件后跳出循环