1. 程式人生 > 其它 >jmeter壓測學習46-邏輯控制器之While控制器

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就退出迴圈。

總結:記住兩點:1、進入while迴圈的條件,是前一個取樣器執行成功;2、while迴圈停止,是false或者最後一個取樣器報錯才會停止。

轉載:https://www.cnblogs.com/yoyoketang/p/14282669.html