邏輯控制器下一共16個控制器:
一、foreach controller循環控制器
定義變量數組,按數組遍歷循環
二、simple controller 簡單控制器
不改變元件的執行順序,指定了一個執行單元;
三、include controller
導入外部的測試片斷,不能有線程組,只能包含簡單控制器及控制器下的元件;
四、runtime controller
控制其子元件的執行時長;
runtime默認爲1,去掉1則默認爲0,此時不執行其節點下的元件;
五、switch controller
switch條件控制器,指定運行的取樣器編號,該節點下的元取樣器從0排序,編號是多少,則執行該取樣器;
若是指定的編號超出了節點數或者不指定,則運行第0個取樣器。
也可指定取樣器名稱,此時大小寫、空格都敏感;
若是匹配不上,則不運行取樣器;
六、while controller
其節點下的元件將一直運行直到while條件爲false;
另外提供如下三個常量:
Blank:當循環中有取樣器失敗後中止;
LAST:當循環中有取樣器失敗則不進入循環;
Otherwise:當判斷條件爲false時中止循環;
七、interleave controller交替控制器
其節點下的取樣器會交替執行;即控制器下有三個取樣器,則第一次循環只執行第一個取樣器;循環第二次時執行第二個取樣器;
八、once only controller僅一次控制器
此控制器的子元件只運行一次,即便把僅一次控制器放在循環控制器下面,也只是運行一次;
九、throughput controller
用來控制其下元件的執行次數,並沒有控制吞吐量的功能;
詳情見P93;
十、if controller條件控制器
經過某個條件來控制此節點下的元件是否運行。
可直接取值true\false的變量,也可經過語句取得的值;
十一、module controller模塊控制器
在當前測試計劃中引入新的測試片斷;
十二、random controller隨機控制器
節點下的元件隨機運行,與交替控制器不同的是節點下的元件運行順序不定;
1三、random order controller
其節點下的元件隨機執行,不過每一個元件只執行一次,順序是隨機的;
1四、loop controller
控制在其節點下的元件的執行次數;
若是在線程組中也設置了執行次數,則循環控制器下元件的執行次數是:線程組執行次數*循環控制器執行次數;
1五、recording controller錄製控制器
錄製的時候用到的。當咱們用JMeter代理進行錄製時,錄製的腳本默認放在此控制器的節點下面;
1六、transaction controller事務控制器
可把其節點下的取樣器執行消耗時間累加在一塊兒;同時咱們把每個取樣器的執行時間進行統計;
若是事務控制器下的取樣器有多個,那麼只有每個取樣器都運行成功了,整個事務控制器定義的事務纔算成功,這是充分必要條件。
參考文獻:
《全棧性能測試修煉寶典 JMeter實戰》