JMeter 邏輯控制器可以對元件的執行邏輯進行控制,除僅一次控制器外,其他控制器下可以嵌套别的種類的邏輯控制器。下面是JMeter邏輯控制器的種類:

ForEach Controller(循環控制器)
ForEach Controller 即循環控制器,顧名思義是定義一個循環規則。參數說明如下
- 名稱:控制器名稱,可以随意設定,甚至可以為空
- 注釋:可以随意設定,可以為空
- 輸入變量字首:可以再“使用者自定義變量”中定義一組變量,循環控制器可以從中擷取到變量對應的值,然後作為循環控制器的循環條件,還可以輸出變量作為取樣區的參數。
- 開始循環字段:循環變量下标起點
- 結束變量字段:循環變量下标終點
- 輸出變量名稱:循環控制器生成的變量名稱
- 數字之前加上下劃線“”?:變量字首是否加上”“作為分隔符
設想一下,有這樣一個業務:
比如在訂單查詢頁面,我們需要查詢了訂單号,然後要對每一條訂單進行出庫,此時我們需要周遊每一條訂單,是不是可以訂單号作為循環?
此時我們就可以用正規表達式提取器提取到訂單号,然後用ForEach Controller 來循環處理訂單的出庫操作。
下面我們以登入接口為例,假設我現在需要同時登入3個賬号
下面我們再來看一個例子。
首先我們通路一個網頁,然後使用正規表達式提取這個頁面的所有連結,然後用 ForEach Controller 來循環周遊所有的連結。這是不是有點像我們自動化測試中的Monkey 測試呢?
(1)這裡為了友善大家學習,我們以JMeter的官網為例,首先我們建立一個http請求,去通路 JMeter的官網
(2)正規表達式提取第一步操作傳回的所有連接配接。
(3)添加一個ForEach Controller 邏輯控制器
(4)在ForEach Controller 邏輯控制器中添加一個http請求,通路由ForEach Controller 傳遞過來
然後我們再添加一個監控器檢視結果數,運作腳本,我們可以jmeter自動通路了連結。