While控制器将运行其子代,直到条件为“ false ”。
可能的条件值:
空白 (不输入任何值) -循环中的最后一个样本失败时退出循环
LAST-当循环中的最后一个样本失败时退出循环。如果循环之前的最后一个样本失败,请不要进入循环。
否则-当条件等于字符串“ false ” 时退出(或不进入)循环
条件可以是最终计算为字符串“ false ”的任何变量或函数。这允许根据需要使用__jexl3,__groovy函数,属性或变量。
![](https://img.haomeiwen.com/i13144638/459087f3369735a0.png)
1、参数为空
当while参数设置为空,此时其子节点下最后一个节点运行失败,才会停止;否则,会一直循环下去(哪怕只有一个失败也不行,需要全部都失败了,才退出)
![](https://img.haomeiwen.com/i13144638/4d68156fdc9fb215.png)
![](https://img.haomeiwen.com/i13144638/da5acc0a4816d97b.png)
设置某个请求地址不存在,再次执行,发现失败后,还是会一直在循环执行。
![](https://img.haomeiwen.com/i13144638/bb94fd4b0c4dc0fc.png)
设置所有的请求地址,无法请求,所有请求失败后,退出循环执行
![](https://img.haomeiwen.com/i13144638/9b718fd9fed61106.png)
2、参数为LAST
当参数设置为LAST时,如果while controller的上一个节点运行失败,则不再执行while controller;否则继续执行,与参数为空的情况一致
![](https://img.haomeiwen.com/i13144638/890facdf503fc27d.png)
![](https://img.haomeiwen.com/i13144638/b6e2e0edd36a985a.png)
修改上一个节点【查询不同状态订单all】请求失败,再执行,While控制器里面的不会再请求
![](https://img.haomeiwen.com/i13144638/743c14b6c7c72a55.png)
修改上一个节点【查询不同状态订单all】请求成功,执行,与参数为空的情况一致
![](https://img.haomeiwen.com/i13144638/2ac6487b408a5d19.png)
3、参数为表达式
当参数为表达式时(需要经过__jexl3函数进行转换,可以使用函数助手生成表达式),如果表达式的结果为true,则执行while controller;反之则不执行,所以在参数中也可以直接输入true或者false来控制是否执行while controller
例如:
$ {VAR} -其中其他测试元素将VAR设置为false
$ {__ jexl3($ {C} == 10)}
$ {__ jexl3(“ $ {VAR2}” ==“ abcd”)}
$ {_ P(property)} -在其他位置将属性设置为“ false ”
定义环境变量
![](https://img.haomeiwen.com/i13144638/0c019dbcd25d3975.png)
使用表达式判断,status==all时,while执行
![](https://img.haomeiwen.com/i13144638/097e4d875568dfa7.png)
![](https://img.haomeiwen.com/i13144638/fdecdedbabf151c0.png)
使用表达式判断,status!=all时,while执行
![](https://img.haomeiwen.com/i13144638/4b873331784c8844.png)
![](https://img.haomeiwen.com/i13144638/84f4dc15e3a27d31.png)
网友评论