『動善時』JMeter基礎 — 23、JMeter中使用“用戶自定義變量”實現參數化


1、用戶自定義變量介紹

我們可以看到前面一篇文章的例子中,數據文件login_data.csv的后三個參數都是一樣的,我們可以把這些變量提取出來,放在一個公共的位置,方便我們隨時提取。(凡是可以輸入的位置,都可以使用參數化變量)

在JMeter中,有兩個地方可以設置這種公共的變量:

  • 一種是在“測試計划”界面中設置“用戶自定義變量”。
  • 一種是在配置元件中的“用戶自定義變量”組件中添加變量。

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

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

本文我們以在“測試計划”界面中設置“用戶自定義變量”為例,演示批量實現用戶的登陸操作。

2、使用“用戶自定義變量”實現參數化

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

添加元件操作步驟

  1. 創建測試計划,並且在測試計划中添加“用戶自定義變量”數據。
  2. 創建線程組:選中“測試計划”右鍵 —> 添加 —> 線程(用戶) —> 線程組
  3. 在測試計划(也可以是線程組)里面添加配置元件CSV Data Set Config組件:選中“線程組”右鍵 —> 添加 —> 配置元件 —> CSV 數據文件設置
  4. 在線程組里面,添加取樣器“HTTP請求”組件:選中“線程組”右鍵 —> 添加 —> 取樣器 —> HTTP請求
  5. 在線程組里面,添加監聽器“察看結果樹”組件:查看結果,選中“線程組”右鍵 —> 添加 —> 監聽器 —> 察看結果樹

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

image

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

(2)數據文件內容

先用Excel表格編輯所需的請求參數,內容如下:

image

我們需要把該文件保存為.csv格式。

最后使用Notepad++打開該文件,然后點擊“編碼” —> 轉為UTF-8編碼,防止中文亂碼。

最終所得到的.csv格式文件的內容如下:

image

(3)測試計划界面內容

在“測試計划”界面中,把公共的變量設置“用戶自定義變量”中,如下圖所示:

image

和在“HTTP請求”組件中添加數據的操作一樣,這樣在該測試計划中的所有組件都可以使用這些變量。

(4)線程組元件內容

如果需要使用CSV文件中所有的數據,需要設置線程組元件的線程數或循環次數。

因為在CSV數據文件設置組件中,有Recycle on EOFStop thread on EOF選項的關系,所以設置線程數和循環次數都可以實現,使用數據文件中的每一組數據進行測試。

image

(5)CSV數據文件設置組件內容

image

我一般常用操作,簡單說明:

  • 文件名:就直接瀏覽選擇文件即可,也就是使用數據文件的絕對路徑。
  • 文件編碼選擇UTF-8
  • 變量名稱:就是把數據文件的每個變量名都填寫上,中間用逗號分割。
  • 忽略首行:選擇True,如果CSV文件中首行寫的是變量名稱,選擇忽略首行。
  • 分隔符:如果CSV文件中的數據,使用的是逗號隔開,就默是默認值。如果是制表符,就用\t表示。
  • 是否允許帶引號?:如果變量值中有引號就選擇True,沒有則默認False即可。
  • 其他一般默認選擇。如果需求看上面說明中寫的很詳細,按工作中實際情況選擇。

(6)HTTP請求組件內容

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

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

image

我們可以看到${變量名}中的引用變量名,是以CSV數據文件設置組件中變量名稱中定義變量名為准。如果不在變量名稱欄中定義任何內容,就以數據文件中的標題列名為引用變量名。

(7)腳本運行結果

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

image

說明:后三個參數submitback_actact,是從測試計划中設置的“用戶自定義變量”所獲取的。

以上就完成了在JMeter中通過“用戶自定義變量”實現參數化的示例。


免責聲明!

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



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