1. 程式人生 > 實用技巧 >Jmeter引數化

Jmeter引數化

Jmeter在錄製指令碼時,只是忠實的記錄了所有從客戶端傳送到伺服器的資料,而在進行效能測試的過程中,為了更真實的模擬現實應用,對於某些資訊需要每次提交不同的資料,或者使用多個不同的值進行迴圈輸入,這時,在Jmeter中就可以進行引數化設定,以便用多個不同的值提交應用請求,然後達到模擬真實情況的目的。

引數化的資料來源是使用者輸入的資料。

引數化的方式
1、使用CSV資料檔案設定
2、使用jmeter函式助手

一、使用CSV資料檔案設定
1、匯入引數化的資料
右鍵,測試計劃->新增-> 配置元件-> CSV資料檔案設定


檔名:
指儲存引數化資料的檔案目錄(需要手動建立該檔案),可以相對或者絕對路徑

檔案的編碼格式:
預設選擇utf-8,有時中文亂碼可以寫gbk

引數名稱:
有幾列引數,在這裡面就寫幾個引數名稱,例如user,pwd,每個名稱中間用分隔符分割,分隔符在下面的“定義分隔符”中定義

定義分隔符:
定義某個分隔符,則在“引數名稱”用這裡定義的分隔符分割引數。

是非選項:
是否允許變數中間有分隔符,這裡最好先預設false,資料中間最好不要有分隔符

是否迴圈讀入:
因為CSV 資料檔案設定是一次讀入一行,分割後存入若干變數中交給一個執行緒,如果執行緒數超過文字的記錄行數,那麼可以選擇從頭再次讀入。

執行緒共享模式:
當前測試計劃中的所有執行緒都有效,預設。

2、使用引數變數
在請求中引用該變數。
引用方法是 ${變數名稱};其中{}內寫入引數化中的變數名稱。

二、使用Jmeter函式助手
1、點選 選項-->函式助手 調出函式助手對話方塊
2、選擇 _CSVRead 函式

函式引數詳解
_CVSRead 函式是從外部讀取引數,可以從一個檔案中讀取多個引數。因此需要新建一個username.dat檔案,輸入username 和 password 的引數值;

CSV file to get values from | * alias:
表示要讀取的檔案路徑,為絕對路徑

CSV 檔案列號| next|*alias:
檔案列號,注意 第一行是 0

點選【生成】按鈕,則會自動生成引數化函式變數;

複製函式生成的引數變數
username 為${__CSVRead(C:\Users\Administrator\Desktop\jemterjb\username.dat,0)}
password 為${__CSVRead(C:\Users\Administrator\Desktop\jemterjb/username.dat,1)}

使用函式生成的引數變數
在請求中引用該變數。
複製生成的引數化函式, 貼上到使用的地方即可,如圖:

CSV Data Set Config 和 CSVRead函式的區別
共同點
從引數檔案的第一行讀取資料(和lr不同)

區別:
CSVRead函式,執行緒內的取值是重複的,即同一個使用者多次迴圈時取值相同(缺點)
CSV Data Set Config,執行緒內的取值是不重複的,即同一個使用者多次迴圈時取值不相同
總的來說:還是CSV Data Set Config比較方便.