Jmeter(三)——控制器(Logic Controller)
阿新 • • 發佈:2019-02-20
- ForEach Controller(遍歷迴圈控制器)
場景:http://jmeter.apache.org/demos中過濾出.jmx,並訪問
正則表示式要用()括起來,如果沒有括號訪問不到請求。ForEach Controller迴圈控制器指令碼檔案 - Include Controller(包含控制器):用來打入外部測試片段,在執行時會匯入。但是匯入的測試片段不能包含執行緒組,只能包含簡單的控制元件及控制元件下的子元件
- Simple Controller(簡單控制器):用來指定一個執行單元,不改變元件的執行順序
- Runtime Controller(時間控制器):用來控制其子元件的執行時長
- Switch Controller(條件控制器):取樣器(Sample)中的請求預設從0開始標號,若條件控制器不指定,預設執行第一個請求(0標號)。執行條件可以填寫標號,也可以填寫請求名稱(嚴格匹配),若匹配不到則不執行。
- While Controller(while迴圈控制器):2個固定引數
a.blank(空白,不填寫任何值):迴圈中最後一個請求失敗,則跳出迴圈
b.last:迴圈中最後一個請求失敗,則跳出迴圈。或者迴圈之前有失敗則不進入迴圈
例如:
a.引數填寫:空白不填寫任何值,迴圈中有2個請求(第一個請求是正確的,第二個請求是錯誤的),執行一次就退出迴圈了
b.引數填寫:空白不填寫任何值,迴圈中有2個請求(第一個請求是錯誤的,第二個請求是正確的),不會退出迴圈,除非手動停止
c.引數填寫:last,同上面的blank情況(a、b)
d.引數填寫:last,但是在迴圈之前有個錯誤的請求,不會進入到迴圈中執行 - Interleave Controller(交替控制器):交替執行請求
例如:此控制下有3個請求(1、2、3),執行緒組迴圈次數設定為5次,則執行結果為1、2、3、1、2 - Once Only Controller(一次控制器):只執行一次,即使放在Loop controller中(迴圈此時設定為n次),也執行一次
- Throughput Controller(吞吐量控制器):
當選擇為Total Exacutions模式:
勾選Per user 執行次數為 執行緒數*迴圈次數 和 執行緒數* throughput值 取其中最小的
不勾選Per user 執行次數為 執行緒數*throughput值 和 throughput值 取其中最小的 - Module Controller(模組控制器):通過模組控制器在當前測試計劃中引入新的測試片段
- Random Controller(隨機控制器):隨機執行請求,只執行一次請求
- Random Order Controller(隨機順序執行控制器):執行循序隨機,但是每個元件都會執行一遍
例如 迴圈中有1、2、3、4個請求,執行緒組迴圈次數為2Random Controller Random Order Controller 2 2、1、4、3 4 4、3、1、2 - Loop Controller(迴圈控制器):如果執行緒組設定了迴圈次數,那麼下面的元件執行的次數為執行緒組迴圈數*迴圈控制器迴圈數
- Recording Controller (錄製控制器):顧名思義是錄製時候用到的,實際上他是一個位置,當用lmeter代理進行錄製時,錄製指令碼預設存放在此控制器下,實際沒有邏輯作用
- Transation Controller (事物控制器):把其節點下的執行器消耗時間加一起,如果事物控制器有多個取樣器,每個取樣器都執行成功,整個事物才算成功