在jmeter中邏輯控制器,通過在采樣器中添加邏輯控制器,控制采樣器的執行順序,也可以對腳本進行控制。Jmeter中的邏輯控制器分為兩類:
(1)控制測試計劃或者線程組中節點的邏輯執行順序。
(2)對測試計劃或者線程組中的腳本進行分組、友善jmeter統計執行結果以及腳本運作時的控制等。
目前jmeter中包含17種邏輯控制器,其中常用的有:簡單控制器、循環控制器、僅一次控制器、如果控制器等。
下面将介紹一下17中邏輯控制器中的簡單控制器、循環控制器、僅一次控制器,具體操作如下:
簡單控制器:
簡單的控制器可以結合采樣器進行使用,也可以結合其他的邏輯控制器進行使用。簡單控制器可以讓我們組織采樣器與其他邏輯控制器進行結合,提供一個子產品的結構和控制,即是在簡單控制器下可以添加采樣器以及其他的邏輯控制器。
簡單控制器與其他的邏輯控制器結合使用時,簡單控制器并不影響其他邏輯控制器的運作和結果。
下面通過簡單的項目進行實踐:
(1)添加測試計劃-->線程組,線上程組下添加簡單控制器
(2)在簡單控制器下添加響應的請求資訊(登入請求)
(3)添加多個簡單控制器,在簡單控制器中可以添加檢視結果樹,對控制器下的采樣器運作結果進行單獨跟蹤,友善檢視每個采樣器的運作結果
(4)由圖可看出,簡單控制器的作用是将采樣器與其他的配置原件組織在一個子產品中,友善對某個子產品進行添加和删除操作。它沒有其他的功能,隻提供存儲控制作用。
循環控制器:
循環控制器,對循環控制器下面的采樣器進行指定運作次數,可以設定相應的數值,讓采樣器進行循環運作。
在單個線程組中有多個采樣器時,如果隻需要對某個采樣器進行循環時,可以在采樣器中添加循環控制器,這樣線上程運作時,其他采樣器可以隻執行一次。
如果同時設定了線程組的循環次數和循環控制器的次數,那麼循環控制器下的采樣器的循環次數為兩個數值相乘的結果。
實踐:以下以佛山市場監管項目的測試環境為路徑,對循環控制器進行實踐操作。(1)在添加了簡單控制器的基礎上,添加一個循環控制器,循環次數為5次,線程組的循環次數為1次。在循環控制器下添加一個登入請求:
(登入請求需要放在循環控制器節點下,循環次數才啟作用)
(1)
運作結果如下:
線程組設定循環次數3次,第一個簡單控制器中的請求循環15次,第二個簡單控制器的請求循環3次,總共18次:
僅一次控制器:
僅一次控制器,在循環執行中對該控制器下的請求進行執行一次,然後在接下來的循環執行中将會跳過該控制器下的所有請求。
在進行登入的測試中,可以考慮将登入請求放在僅一次控制中,這樣登入請求隻執行一次。在并發查詢時,可能會使用到僅一次控制器,在并發查詢時,我們隻需要登入請求執行一次即可。Jmeter中的僅一次控制器相當于loadrunner中的init的初始化action。
下面示範僅一次控制器在jmeter中的使用。設定線程組的循環次數為3次,在簡單控制器下添加一個僅一次控制器,在僅一次控制器下添加一個登入請求,點選執行按鈕,檢視執行結果:
(注:僅一次控制器隻能放線上程組合循環控制器中,否則其作用不會展現)