天天看點

(1)JMeter元件詳解之ForEach Controller 邏輯控制器

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

(1)JMeter元件詳解之ForEach Controller 邏輯控制器

ForEach Controller(循環控制器)

ForEach Controller 即循環控制器,顧名思義是定義一個循環規則。參數說明如下

(1)JMeter元件詳解之ForEach Controller 邏輯控制器
  1. 名稱:控制器名稱,可以随意設定,甚至可以為空
  2. 注釋:可以随意設定,可以為空
  3. 輸入變量字首:可以再“使用者自定義變量”中定義一組變量,循環控制器可以從中擷取到變量對應的值,然後作為循環控制器的循環條件,還可以輸出變量作為取樣區的參數。
  4. 開始循環字段:循環變量下标起點
  5. 結束變量字段:循環變量下标終點
  6. 輸出變量名稱:循環控制器生成的變量名稱
  7. 數字之前加上下劃線“”?:變量字首是否加上”“作為分隔符

設想一下,有這樣一個業務:

比如在訂單查詢頁面,我們需要查詢了訂單号,然後要對每一條訂單進行出庫,此時我們需要周遊每一條訂單,是不是可以訂單号作為循環?

此時我們就可以用正規表達式提取器提取到訂單号,然後用ForEach Controller 來循環處理訂單的出庫操作。

下面我們以登入接口為例,假設我現在需要同時登入3個賬号

(1)JMeter元件詳解之ForEach Controller 邏輯控制器
(1)JMeter元件詳解之ForEach Controller 邏輯控制器
(1)JMeter元件詳解之ForEach Controller 邏輯控制器

下面我們再來看一個例子。

首先我們通路一個網頁,然後使用正規表達式提取這個頁面的所有連結,然後用 ForEach Controller 來循環周遊所有的連結。這是不是有點像我們自動化測試中的Monkey 測試呢?

(1)這裡為了友善大家學習,我們以JMeter的官網為例,首先我們建立一個http請求,去通路 JMeter的官網

(1)JMeter元件詳解之ForEach Controller 邏輯控制器

(2)正規表達式提取第一步操作傳回的所有連接配接。

(1)JMeter元件詳解之ForEach Controller 邏輯控制器

(3)添加一個ForEach Controller 邏輯控制器

(1)JMeter元件詳解之ForEach Controller 邏輯控制器

(4)在ForEach Controller 邏輯控制器中添加一個http請求,通路由ForEach Controller 傳遞過來

(1)JMeter元件詳解之ForEach Controller 邏輯控制器

然後我們再添加一個監控器檢視結果數,運作腳本,我們可以jmeter自動通路了連結。

(1)JMeter元件詳解之ForEach Controller 邏輯控制器