
在上一篇:Jmeter系列之常用元件(二),主要介紹正規表達式提取器、調式取樣器(debug sampler)、響應斷言、HTTP消息頭管理的應用場景及實戰。
以下主要介紹JMeter的三種參數化方式:使用者參數、CSV Data Set Config、 CSV函數助手。
一
使用者參數
當使用JMeter進行測試時,測試資料的準備是一項重要的工作。若要求每次疊代的資料不一樣時,則需進行
參數化
,然後從參數化的檔案中來讀取測試資料。
①線程組,右鍵依次選擇添加--》前置處理器--》使用者參數。
②使用者參數設定如下:
③建立HTTP請求,處理登入接口請求。
④注意,因為設定了兩組登入賬号,是以,需要線上程組裡設定線程數為2。
⑤添加察看結果樹,運作結果如下:
二
CSV Data Set Config
CSV Data Set Config
可以從指定的資料檔案中一行一行的讀取内容,按照一定的格式拆分并指派給變量,采樣器引用變量即可。
①線程組,右鍵,依次選擇添加--》配置元件--》CSV Data Set Config。
②CSV Data Set Config界面介紹:
- Filename:參數檔案名
- File encoding:參數檔案的編碼格式。推薦選擇 UTF-8。
- Variable Names:對應參數檔案每列的變量名。
- Delimiter:參數檔案分隔符。與參數檔案中的分隔符保持一緻即可。
- Allow quoted data?:是否允許引用資料。預設設定為 false。
-
Recycle
on EOF?:是否循環讀取參數檔案内容。預設設定為 true。設定為 true
時,當已經讀取完參數檔案内的測試用例資料,還需要繼續擷取用例資料時,此時會循環讀取參數檔案資料;設定為 false
時,若已至檔案末尾,則不再繼續讀取測試資料。通常在 線程組的線程數 * 線程組的循環次數 > 參數檔案行數時,才需要将此項設定為
true。
-
Sotp thread on EOF?:當讀取到參數檔案末尾時,是否停止讀取線程,預設為 false。
①若為 true,則在讀取到參數檔案行末尾時,終止參數檔案讀取線程。例如:線程組的線程數 * 線程組的循環次數 = 10,參數檔案行數 = 7,那麼将在第 8 次開始停止線程。
②若為 false,此時線程會繼續讀取,但是會請求錯誤,是以時讀取的資料為 EOF。以上同例,自第 8 次開始,線程的請求資料為 EOF。
- Sharing mode:共享模式,即參數檔案變量作用域。主要有以下幾種方式:
①All threads:目前測試計劃中的所有線程組中的所有的線程均有效,預設。
②Current thread group:目前的線程組中的線程有效。
③Current thread:目前線程有效。
③在本地建立一個userinfo.csv檔案,用于存放賬号資訊。
④CSV Data Set Config配置如下:
⑤登入請求配置如下:
⑥線程組設定線程數為2,建立察看結果樹,運作結果如下:
三
CSV函數助手
利用函數從檔案裡面讀取資料,然後引用變量。
①菜單欄,依次選擇工具--》函數助手對話框--》CSVRead。
②CSVRead配置如下:
③在登入請求裡,粘貼函數字元串。
④線程組設定線程數為2,建立察看結果樹,運作結果如下:
總結:本文主要介紹Jmeter的三種參數化方式:使用者參數、CSV Data Set Config、 CSV函數助手。
往期内容寵幸
1.Python接口自動化-接口基礎(一)
2.Python接口自動化-接口基礎(二)
3.Python接口自動化-requests子產品之get請求
4.Python接口自動化-requests子產品之post請求
5.Python接口自動化之cookie、session應用
6.Python接口自動化之Token詳解及應用
7.Python接口自動化之requests請求封裝
8.Python接口自動化之pymysql資料庫操作
9.Python接口自動化之logging日志