關聯是jmeter工具中非常重要的乙個技術。因為在測試過程過有些資料是經常發生變化的,要獲取並使用這些資料,就要使用關聯。
比如: 使用者登入後,session資訊都不同,有些操作要使用session,就需要將這個動態的資訊儲存下來。 還有經常遇到的場景,第二個請求提交的引數要從第乙個請求的返回資料中獲取。
一、正規表示式提取器
在預設的測試計畫中新增乙個執行緒組,然後新增取樣器。
右鍵新增後置處理器→正規表示式提取器,正規表示式提取器介面如下:
響應資訊:響應資訊
引用名稱(reference name):jmeter變數的名稱,儲存提取的結果;即下個請求需要引用的值、字段、變數名(例子中我提取的是social_no)
正規表示式(regular expression):使用正規表示式解析響應結果,「()」表示提取字串中的部分值,請不要使用「||」,除非你本身需要匹配這個字元。
常用的正規表示式操作符:
操作符
說明
例項
.表示任何單個字元
[ ]字符集,對單個字元給出範圍
[abc]表示a、b、c,[a-z]表示a-z的單個字元
[^ ]
非字符集,對單個字元給出排除範圍
[^abc]表示非a或b或c的單個字元
*前乙個字元零次或無限次擴充套件
abc* 表示ab、abc、abcc、abccc等
+前乙個字元1次貨無限次擴充套件
abc+ 表示 abc、abcc、abccc等
?前乙個字元0次或1次擴充套件
abc? 表示 ab、abc
|左右表示式的任意乙個
abc|def 表示 abc、def
擴充套件前乙個字元m次
abc 表示 abbc
擴充套件前乙個字元m到n次
abc 表示 abc、abbc
^匹配字串開頭
^abc 表示 abc且在乙個字串的開頭
$匹配字串結尾
abc$ 表示 abc且在乙個字串結尾
( )分組標記內部只能使用|操作符
(abc)表示abc,(abc|def)表示abc、def
\d數字,等價於0-9
\w單詞字元,等價於[a-z0-9a-z_]
模板:代表從正規表示式結果引用的樣式,其實結果是一組,而不是乙個。$0$代表這一組結果的全部,$1$代表這一組結果的第1個,以此類推;$1$$2$代表該正規表示式一組結果中的第1個和第2個,倆結果挨在一起中間沒有間隔;$3$,$4$代表該正規表示式一組結果中的第3個和第4個,倆結果間有乙個逗號相連。
匹配數字:0代表正規表示式結果組中隨機,1代表全部。
預設值:當引用不對時顯示傳遞的資訊,通暢寫乙個error。
最後,根據上面的說明,完成配置,然後可以先新增乙個監視器(檢視結果樹),檢查是否取到了對應的值;提取到的引數,呼叫時用$,$...,如果想要得到匹配出的引數的個數,$。
二、json path postprocessor(json extractor)
用處:當前介面響應返回的json中提取內容,作為變數可以在不同的請求中傳遞。如下,從登陸介面返回的json中提取user id,變數名設定為id,在其他請求中可以直接呼叫這個變數,或者作為post引數。次外掛程式對於restful介面非常好用。
variable names :名稱
jsonpath expression:json表示式
match numbers:匹配哪個,可為空即預設第乙個
default value:未取到值的時候預設值
比如返回值如下:
}
則json表示式為:$.usersession.sessionid
如果返回值是陣列,則需要加上陣列的位置,如
]
}
則json表示式為:$.usersession[0].sessionid,提取第乙個值。
三、xpath extractor
jmeter提供的對關聯的支援包括以下2個方面:
①能夠將返回頁面上的指定內容儲存在引數中;(即正規表示式提取器和json extractor)
②能夠將get或post方法中的資料使用該引數來替換;(xpath extractor)
xpath extractor的使用方法與正規表示式提取器(regular expression extractor)類似,只不過該expression中指定的不是正規表示式,而是給定的xpath路徑。
後置處理器(post processor)本質上是一種對sampler發出請求後接受到的響應資料進行處理(後處理)的方法。必須將後置處理器元件放在合適的位置才能達到預期的效果。
新建乙個執行緒組,然後右鍵-新增-後置處理器-xpath extractor:
①正規表示式提取器可以用於對頁面任何文字的提取,提取的內容是根據正規表示式在頁面內容中進行文字匹配;
②xpath extractor則可以提取返回頁面任意元素的任意屬性;
③如果需要提取的文字是頁面上某元素的屬性值,建議使用xpath extractor;
④如果需要提取的文字在頁面上的位置不固定,或者不是元素的屬性,建議使用正規表示式提取器。
JMeter 學習筆記( )
效能測試 用於測量特定負載下機器效能的測試。驗證系統在實際運 況下,滿足功能需求。驗證系統可以滿足可伸縮性需求。可以結合壓力測試,來驗在極端負載下的系統效能。什麼情況下做效能測試 專案開始的時候,盡早的檢測出糟糕的技術應用。確保e2e的可測試性。揭開效能需求的面紗。專案開發的正常間隔,盡早的發現開發...
Jmeter學習筆記
2018 6 10 介面分五塊,左邊樹形標籤欄,右邊識左側標籤對應的內容欄目,快捷工具欄,選單欄,最上的標題 僅僅做展示 工具欄第乙個按鈕 新建 新建乙個測試計畫 第二個按鈕 模板 最常用的是錄製模板 工具欄最右按鈕 幫助按鈕,滑鼠選中在左側某乙個條目後,點選幫助按鈕,會跳轉至相應的說明文件上,文件...
JMeter學習筆記 詳解JMeter配置元件
jmeter配置元件可以用來初始化預設值和變數,以便後續取樣器使用。將在其作用域的初始化階段處理。注意 csv dataset變數在每次測試迴圈的初始階段定義,由於定義發生在配置處理完成之後,所以他們不能用於一些配置元件 如jdbc config 以便在配置時處理他們的內容。可在http auth ...