天天看點

Jmeter系列之參數化

Jmeter系列之參數化

在上一篇:Jmeter系列之常用元件(二),主要介紹正規表達式提取器、調式取樣器(debug sampler)、響應斷言、HTTP消息頭管理的應用場景及實戰。

以下主要介紹JMeter的三種參數化方式:使用者參數、CSV Data Set Config、 CSV函數助手。

使用者參數

當使用JMeter進行測試時,測試資料的準備是一項重要的工作。若要求每次疊代的資料不一樣時,則需進行

參數化

,然後從參數化的檔案中來讀取測試資料。

①線程組,右鍵依次選擇添加--》前置處理器--》使用者參數。

Jmeter系列之參數化

②使用者參數設定如下:

Jmeter系列之參數化

③建立HTTP請求,處理登入接口請求。

Jmeter系列之參數化

④注意,因為設定了兩組登入賬号,是以,需要線上程組裡設定線程數為2。

Jmeter系列之參數化

⑤添加察看結果樹,運作結果如下:

Jmeter系列之參數化

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檔案,用于存放賬号資訊。

Jmeter系列之參數化

④CSV Data Set Config配置如下:

Jmeter系列之參數化

⑤登入請求配置如下:

Jmeter系列之參數化

⑥線程組設定線程數為2,建立察看結果樹,運作結果如下:

Jmeter系列之參數化

CSV函數助手

利用函數從檔案裡面讀取資料,然後引用變量。

①菜單欄,依次選擇工具--》函數助手對話框--》CSVRead。

Jmeter系列之參數化

②CSVRead配置如下:

③在登入請求裡,粘貼函數字元串。

Jmeter系列之參數化

④線程組設定線程數為2,建立察看結果樹,運作結果如下:

Jmeter系列之參數化

總結:本文主要介紹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日志