目錄
1、用戶參數組件介紹
用戶參數(User Parameter)組件在前置處理器元件中添加,前置處理器的作用是在取樣器發出請求之前,執行一些操作。
即:如果將前置處理器附加到取樣器元件中,則它將在該取樣器元件運行之前執行。常用操作如:取樣器參數設置、環境變量設置、腳本預處理等。
之前我們介紹過,JMeter中常用的參數化方式有四種:
- CSV數據文件設置(
CSV Data Set Config):這種方式是通常所指的參數化。數據存儲在文件中,該種參數化方式取值范圍大,靈活性強,適用於大量測試數據時的使用。 - 用戶參數(
User Parameter):適用於參數取值范圍很小,需要少量測試數據時使用。 - 用戶自定義變量(
User Defined Variables):更多用於設置全局變量,常用於數據庫地址,測試環境、開發環境地址等常量配置。 - 函數助手:可使用函數生成隨機數字和隨機字符串實現參數化。
本文以前置處理器中的用戶參數組件為例,實現JMeter中的參數化。
2、用戶參數界面介紹
用戶參數組件添加方式:選中“取樣器”右鍵 —> 添加 —> 前置處理器 —> 用戶參數。
用戶參數界面如下圖所示:

界面說明:
- 名稱:用戶參數組件的自定義名稱,見名知意最好。
- 注釋:即添加一些備注信息,對該用戶參數組件的簡短說明,以便后期回顧時查看。
- 每次迭代更新一次:我個人的理解,不同的線程需要應用不同的用戶數據,這時就需要勾選此選項。也就是根據線程組里設置的線程數,每個線程調用不同的用戶數據,依次取值。但是我實際操作中,勾選不勾選都能夠依次取值。(如果修改線程組界面中的循環次數,勾不勾選,都只用一個用戶的值。)
- 添加變量:橫着添加一行變量信息,此變量會應用於每個用戶。
- 刪除變量:刪除所選中的一行數據。
- 添加用戶:豎着添加一個用戶信息,一個用戶就是一組測試數據。
- 刪除用戶:刪除所選中的一列數據。
- 向上和向下按鈕:就是上下移動所選中變量的位置。
3、使用“用戶參數”組件實現參數化
例如:現在有一個需求,實現批量用戶登陸。
(1)測試計划內包含的元件
添加元件操作步驟:
- 創建測試計划
- 創建線程組:
選中“測試計划”右鍵 —> 添加 —> 線程(用戶) —> 線程組。 - 在線程組中,添加取樣器”HTTP請求“組件:
選中“線程組”右鍵 —> 添加 —> 取樣器 —> HTTP請求。 - 在取樣器中,添加前置處理器“用戶參數”組件:
選中“取樣器”右鍵 —> 添加 —> 前置處理器 —>用戶參數。 - 在線程組中,添加監聽器察看結果樹組件:查看結果,
選中“線程組”右鍵 —> 添加 —> 監聽器 —> 察看結果樹。
最終測試計划中的元件如下:

點擊運行按鈕,會提示你先保存該腳本,腳本保存完成后會直接自動運行該腳本。
(2)線程組元件內容
如果需要使用CSV文件中所有的數據,需要設置線程數。
因為沒有了CSV數據文件設置組件的參與,所以這里只能使用線程數進行設置,才能實現變量的循環應用。
如果使用循環次數進行設置,效果就是使用同一用戶,執行幾次登陸操作。

(3)HTTP請求組件內容
在JMeter中使用參數化變量的格式:${變量名}。
編輯登錄接口內容,如下圖所示:

(4)用戶參數組件內容
配置好的四組用戶數據,如下圖所示:

操作方式說明:
- 增加變量:就是橫着添加一行,有幾個用戶,這一行中就有幾列。
- 刪除變量:就是刪除所選中的一行數據。
- 添加用戶:就是縱向添加一列數據,有幾個變量,這一列中就有幾行。
- 刪除用戶:就是刪除所選中的一列數據。
(5)腳本運行結果
該測試腳本運行結果如下圖所示:

以上就完成了在JMeter中通過“用戶參數”組件實現參數化的示例。
4、總結
優先級說明:
- 線程組下的用戶參數組件 優先級高於 測試計划 里的用戶自定義變量。
- HTTP 請求下的用戶參數組件 優先級高於 **線程組下 **的用戶參數組件。
- 若有重名參數,優先取優先級高的用戶參數。
- 若用戶參數和用戶自定義變量重名,則優先取用戶參數組件中的值 。
因為配置元件執行完再到前置處理器,所以前置處理器的值會覆蓋配置元件中設置的值。
提示:關於使用”函數助手“實現JMeter的參數化,我們在后邊學習到”函數助手“在說明。
