Jmeter引數化與關聯
一,定義。
在本文中。
引數化:指對每次發起的請求,引數名稱相同,引數值進行替換,如登入三次系統,每次用不同的使用者名稱和密碼。
關聯:與系統互動過程中,系統返回的內容,需要在接下來的互動中用到,如防止csrf攻擊而生成的token。
二,引數化。
引數化的方法有
方法一,使用函式助手。選項-->函式助手對話方塊。
在對話方塊的下拉列表中選擇功能,如隨機函式等,輸入一些變數,點生成,即可生成引用表示式。在引數的值的地方用這個表示式便可達到引數化目的。
除了隨機數,還有從檔案讀取值,得到當前執行緒號,得到當前機器號等函式可用。
方法二,從csv檔案讀取。
1.新建一個文字檔案,裡面儲存要登入的使用者名稱,密碼,檔案內容如下:
admin,123
manager,456
test,test
說明:這裡用英文逗號為分隔符,也可以用其他為分隔符,在CSV Data Set Config中可以設定。
2.右鍵點選Jmeter中需要引數化的某個請求,選擇新增——配置原件——CSV Data Set Config,會新增一個CSV Data Set Config,需要設定相關的一些內容,具體如下:
Filename:檔名,,指儲存資訊的檔案目錄,可以相對或者絕對路徑(比如:D:/ceshi.Txt)
Variable Names:引數名稱(如:有幾個引數,在這裡面就寫幾個引數名稱,每個名稱中間用分隔符分割,分隔符在下面的“Delimitet”中定義,為了和檔案中的“,”對於,這裡也用“,”分割每個引數名,(比如:use,password)
Delimitet:定義分隔符,這裡定義某個分隔符,則在“Variable Names”用這裡定義的分隔符分割引數。
Recycle on EOF:是否迴圈讀入,因為CSV Data Set Config一次讀入一行,分割後存入若干變數中交給一個執行緒,如果執行緒數超過文字的記錄行數,那麼可以選擇從頭再次讀入。
方法三,使用者自定義變數
右擊某個結點-->新增-->前置處理器-->使用者引數,可以在裡面新增引數,手動輸入,然後在需要用到引數的地方引用即可。
三,關聯。
關聯的方法有:
方法一,從前一個請求中取,用正則表示式提取器。
具體方法,在需要獲得資料的請求上右擊新增一個後置處理器-->正則表示式提取器
引用名稱即下一個請求要引用的引數名稱,如填寫title,則可用${title}引用它。
正則表示式中()括起來的部分就是要提取的。.代表任意字元,*代表出現任意次。
模板,用$$引用起來,如果在正則表示式中有多個正則表示式(多個括號括起來的東東),則可以是$2$,$3$等等,表示解析到的第幾個值給title。
匹配數字,0代表隨機,-1代表所有,其餘正整數代表將在檢查的內容中,第幾個匹配的內容提取出來。
方法二,用xpath從前一個請求中取。這種形式比較適合於返回為xml片段的情況。
在需要獲得資料的請求上右擊新增一個後置處理器-->xPath Extractor。
引用名稱即下一個請求要引用的引數名稱,如填寫body,則可用${body}引用它。
XPath query,即xpath的表示式,要符合xpath的語法。
效能測試學習中,歡迎和大家探討Jmeter的用法。