1. 程式人生 > >Jmeter 邏輯控制器總結

Jmeter 邏輯控制器總結

多少 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 邏輯控制器總結