jmeter压测学习46-逻辑控制器之While控制器

前言

循环控制器可以设定永远循环和循环次数,缺少条件判断。While控制器可以在循环的基础上加判断,当条件为false的时候跳出循环。

While控制器

线程组-添加-逻辑控制器-While控制器

Condition (function or variable) 可以是条件(函数或变量)。条件为 Flase 的时候,才会跳出 While 循环,否则一直执行 While 控制器下的样例

  • 表达式为空 一直执行
  • 表达式为true 一直执行
  • 表达式为false 则跳出循环
  • 表达式结果不是true或false 就一直执行,所有需要用__jexl3()函数转成true或false

Condition 条件

1.如果Condition 条件为空,当 While 控制器下最后一个样例执行失败后,跳出循环

在While控制器添加一个HTTP请求

那么会一直请求,除非这个请求报错(最后一个样例执行失败)才会停止

在While控制器添加多个HTTP请求,只有最后一个请求报错才会停止(注意是最后一个)

While控制器有请求A, 请求B,请求C,当请求B和A报错都不会停止,当最后一个请求C报错就停止了

  1. 如果Condition 条件输入LAST ,功能是 While 控制器 前一个样例执行失败,则不会进入While循环,也就是不会执行While控制器下的样例。

当我们在While控制器 前面添加一个请求,如果这个请求是成功的,那么进入wihle循环,跟上面Condition 条件为空是一样的(最后一个报错退出循环)

如果 While 控制器前一个样例执行失败,则不会进入While循环,接下来故意让前面的请求失败

Condition 为true或false

1.当表达式为true, 会一直执行,不管最后一个是不是失败都会一直循环

2.当表达式为false, 不执行 While 控制器

3.也可以借助函数助手,生成__jexl3()__groovy()函数转成true或false,参考前面如果(If)控制器

4.不用函数,直接用变量也可以:"${user}"=="admin"

Condition 表达式结果不是true或false

如果Condition 表达式结果不是true或false,就一直执行,比如我这里引用变量${user}, 它的结果是"admin"

表达式结果不是true或false,就一直执行, 直到结果为false就退出循环。

posted @ 2021-01-15 16:16  上海-悠悠  阅读(1329)  评论(0编辑  收藏  举报