前言
循環控制器可以設定永遠循環和循環次數,缺少條件判斷。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報錯就停止了
- 如果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就退出循環。