『動善時』JMeter基礎 — 24、JMeter中使用“用戶參數”實現參數化


1、用戶參數組件介紹

用戶參數(User Parameter)組件在前置處理器元件中添加,前置處理器的作用是在取樣器發出請求之前,執行一些操作。

即:如果將前置處理器附加到取樣器元件中,則它將在該取樣器元件運行之前執行。常用操作如:取樣器參數設置、環境變量設置、腳本預處理等。

之前我們介紹過,JMeter中常用的參數化方式有四種:

  1. CSV數據文件設置(CSV Data Set Config):這種方式是通常所指的參數化。數據存儲在文件中,該種參數化方式取值范圍大,靈活性強,適用於大量測試數據時的使用。
  2. 用戶參數(User Parameter):適用於參數取值范圍很小,需要少量測試數據時使用。
  3. 用戶自定義變量(User Defined Variables):更多用於設置全局變量,常用於數據庫地址,測試環境、開發環境地址等常量配置。
  4. 函數助手:可使用函數生成隨機數字和隨機字符串實現參數化。

本文以前置處理器中的用戶參數組件為例,實現JMeter中的參數化。

2、用戶參數界面介紹

用戶參數組件添加方式:選中“取樣器”右鍵 —> 添加 —> 前置處理器 —> 用戶參數

用戶參數界面如下圖所示:

image

界面說明:

  • 名稱:用戶參數組件的自定義名稱,見名知意最好。
  • 注釋:即添加一些備注信息,對該用戶參數組件的簡短說明,以便后期回顧時查看。
  • 每次迭代更新一次:我個人的理解,不同的線程需要應用不同的用戶數據,這時就需要勾選此選項。也就是根據線程組里設置的線程數,每個線程調用不同的用戶數據,依次取值。但是我實際操作中,勾選不勾選都能夠依次取值。(如果修改線程組界面中的循環次數,勾不勾選,都只用一個用戶的值。)
  • 添加變量:橫着添加一行變量信息,此變量會應用於每個用戶。
  • 刪除變量:刪除所選中的一行數據。
  • 添加用戶:豎着添加一個用戶信息,一個用戶就是一組測試數據。
  • 刪除用戶:刪除所選中的一列數據。
  • 向上和向下按鈕:就是上下移動所選中變量的位置。

3、使用“用戶參數”組件實現參數化

例如:現在有一個需求,實現批量用戶登陸。

(1)測試計划內包含的元件

添加元件操作步驟

  1. 創建測試計划
  2. 創建線程組:選中“測試計划”右鍵 —> 添加 —> 線程(用戶) —> 線程組
  3. 在線程組中,添加取樣器”HTTP請求“組件:選中“線程組”右鍵 —> 添加 —> 取樣器 —> HTTP請求
  4. 在取樣器中,添加前置處理器“用戶參數”組件:選中“取樣器”右鍵 —> 添加 —> 前置處理器 —>用戶參數
  5. 在線程組中,添加監聽器察看結果樹組件:查看結果,選中“線程組”右鍵 —> 添加 —> 監聽器 —> 察看結果樹

最終測試計划中的元件如下:

image

點擊運行按鈕,會提示你先保存該腳本,腳本保存完成后會直接自動運行該腳本。

(2)線程組元件內容

如果需要使用CSV文件中所有的數據,需要設置線程數。

因為沒有了CSV數據文件設置組件的參與,所以這里只能使用線程數進行設置,才能實現變量的循環應用。

如果使用循環次數進行設置,效果就是使用同一用戶,執行幾次登陸操作。

image

(3)HTTP請求組件內容

在JMeter中使用參數化變量的格式:${變量名}

編輯登錄接口內容,如下圖所示:

image

(4)用戶參數組件內容

配置好的四組用戶數據,如下圖所示:

image

操作方式說明:

  • 增加變量:就是橫着添加一行,有幾個用戶,這一行中就有幾列。
  • 刪除變量:就是刪除所選中的一行數據。
  • 添加用戶:就是縱向添加一列數據,有幾個變量,這一列中就有幾行。
  • 刪除用戶:就是刪除所選中的一列數據。

(5)腳本運行結果

該測試腳本運行結果如下圖所示:

image

以上就完成了在JMeter中通過“用戶參數”組件實現參數化的示例。

4、總結

優先級說明:

  • 線程組下的用戶參數組件 優先級高於 測試計划 里的用戶自定義變量。
  • HTTP 請求下的用戶參數組件 優先級高於 **線程組下 **的用戶參數組件。
  • 若有重名參數,優先取優先級高的用戶參數。
  • 用戶參數用戶自定義變量重名,則優先取用戶參數組件中的值
    因為配置元件執行完再到前置處理器,所以前置處理器的值會覆蓋配置元件中設置的值。

提示:關於使用”函數助手“實現JMeter的參數化,我們在后邊學習到”函數助手“在說明。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM