Jmeter邏輯控制能夠對元件的執行邏輯進行控制,除Once only Controller僅一次控制器之外,其餘控制器均可以能夠嵌套其餘種類的控制器,下面是jmeter5.3支持的控制器種類,咱們分別對其進行介紹java
Simple Controller用來指定一個執行單元,他不改變元件的執行順序,主要做用是用來組織採樣器和其餘的邏輯控制器編程
簡單控制器只有名稱和註釋.編程語言
好比說咱們能夠用它組織模塊,在各個模塊裏在進行請求的發送,這樣看起來各模塊比較獨立,好維護一些。測試
Include Controller用來導入外部的測試片斷,這個片斷並非完整的測試計劃,導入的這個測試計劃是不能有線程組的,只能包含簡單的控制器以及控制器下的元件。至關於執行了封裝了業務操做到的單元,至關於將一些通用的功能邏輯封裝,在這裏進行調用。spa
用來控制器子元件的執行時長,單位是秒線程
Switch Controller條件控制器,相似於編程語言裏的switch語句blog
好比由上圖的配置,Switch Controller下面有兩個java request,jmeter會給下面的java請求進行編號,第一個爲0,第二個爲1以此類推get
若是上面switch Value設置0,那麼第一個java request就會執行。若是指定的編號超出了控制器下面的節點數,或者沒有指定,則會默認運行第一個節點。博客
Switch Controller也能夠指定取樣器的名稱,名稱匹配時大小寫以及空格都銘感,若是匹配不上則不運行取樣器。it
While條件控制器,其節點下的元件將一直運行知道while條件爲false
Condition:接受表達式與變量,還能夠輸入常量,也就是jmeter內置的默認值
LAST:當循環前有取樣器失敗則不進入循環
BLANK:當循環中有取樣器失敗後中止
Otherwise:當判斷條件爲false中止循環
Interleave Controller交替控制器,其節點下的取樣器會交替執行,
假設咱們有如上的線程組和交替控制器的配置,線程組下面有一個請求3,交替控制器下面有請求1和請求2,線程組配置一個線程循環且循環三次,執行如下咱們來看看請求的執行順序。
循環三次,總共有六個請求發出,也就是說每一次循環會執行線程組下面的請求和交替控制器裏的一個請求。
<img src="https://zyjblog.oss-cn-beijing.aliyuncs.com/1593947944.jpg" style="zoom: 25%;" />
下篇文章咱們將介紹剩餘的邏輯控制器
歡迎你們去 個人博客 瞅瞅,裏面有更多關於測試實戰的內容哦!!