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