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就退出循環。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM