一,While控制器:
和开发语言中的While作用是一样的,当条件(Condition中写的)为false的时候,就停止执行,退出循环。
Condition写入条件:
- 为空(什么的都不写的时候):循环中的最后一个请求执行失败才退出循环
- LAST:直到最后一个请求请求失败才退出循环。(和为空的区别是:如果在循环开始之前的最后一个请求失败了,就不会开始循环)
- 其他内容:条件值等于“false”时,退出循环。也就是只要满足条件,就一直循环执行
- Contion可以输入计算结果等于“false”的变量或者函数
二,案例:
1) LAST
- 直到最后一个请求请求失败才退出循环
- 当里面的请求断言失败后就会跳出循环
- 如果该控制器前面的最后一个请求是失败的则不进入循环
(1.1)直到最后一个请求请求失败才退出循环
当最后一个请求是正确的时候,就进入无限循环模式了:
执行:
(1.2)如果该控制器前面的最后一个请求是失败的则不进入循环
注:这个请求失败,是包括请求失败了和断言失败了
eg:
新建一个脚本:
执行结果:While控制器里的请求都不执行
再加一个请求成功但是断言失败的请求:
执行结果:While控制器里的请求都不执行
把断言修改成正确的:While控制器里的请求都执行
2)其他内容
${__javaScript()} 在()中写入判断条件就可以了
例如:
1, ${__javaScript("${num}"<"8")} :变量num小于8执行,一旦等于大于8就退出循环
2, ${__javaScript("${num}"=="8")} :变量num等于8执行,其他都不执行
3, ${__javaScript("${num}"!="8")} :变量num不等于8执行,一旦等于8就退出循环
4, ${__javaScript("${num}"!=4&&"${num}"<"8",)} :变量num小于8且不等于4执行,一旦大于等于8或者等于4,满足一样就退出循环
举个栗子:
设置一个脚本,添加一个计数器和请求都在While控制器下面
组件配置为:
计数器配置从1开始,最大到10,引用变量名num:
1)While控制器写:
执行得:
后面的请求9和请求10不会执行,到8结束
2)While控制器写:
执行得:
什么都没运行,因为我们是从1开始的,打从第一个请求就不满足
3)While控制器写:
执行得:
4)While控制器写:
执行得: