JSON提取器 提取 響應體(response body)里的信息
在需要提取數據的請求下添加 JSON提取器,一個JSON提取器可以寫多個json提取器
路徑:后置處理器 -> JSON提取器
1.Names of created variables:自定義變量名,用於存放提取的數據。多個變量時用分號分隔。
2.JSON Path expressions:json路徑表達式,有多個表達式時用分號分隔。
絕對路徑:$.節點名稱(復雜的:$.一級節點.二級節點.***.要提取的節點。如提取返回數據中key為code的數據,表達式為 $.code。
相對路徑:$..提取節點key。同級不同級但相同key值都被提取
絕對路徑和相對路徑在獲取多個值時的區別:用絕對路徑獲取的多個值,變量名都一樣(自定義那個);同相對路徑獲取的多個值,每個值都有一個變量名,變量名為 自定義的那個_下標,如返回3個值,自定義變量名為rspcode,那么三個值的變量名為rspcode_1, rspcode_2,rspcode_3。調用時需要哪個值可以用 ${rspcode_?}
3.Match No. (0 for Random):必填。0為隨機取一個值,-1為提取所有值,其他正整數(n)為提取第n個值。有多個表達式時,用分號隔開
4.Compute concatenation var
5.Default Values:提取值為空時,返回這個設定的默認值。當Json表達式有兩個及以上時,這個字段必填,有多少個表達式就要有多少個default value,用分號分隔
關聯
從前面的取樣器中,提取信息,用於后續接口的輸入參數
**********************************************************************************************
token在響應體信息里
cookie在響應頭信息里
**********************************************************************************************
正則表達式提取器 可以提取 響應頭(response head)信息
路徑:后置處理器 -> 正則表達式提取器
1.引用名稱:自定義變量名,只能定義一個
2.正則表達式:左邊界(正則式)右邊界
3.模板:$1$ 表示正則表達式里第一個括號的內容;當正則表達式有n個括號時,可以用$m$表示要第m個括號的內容,需要多個時,無需符號連接,直接 $1$$3$$m$
4.匹配數字:必填。0代表隨機一個,-1代表所有值,其他數字n代表提取第n個的值
==> 以上,自定義變量只有一個,但取值有多個,可以借助調試取樣器,查看響應數據里返回的值有自定義變量值,和多個自定義變量_下標值,根據需要的值,調用變量。
正則式:左邊界(正則式)右邊界
萬能正則式: .*?
由於json是無序的,所以左邊界和右邊界都不要包含過多內容(最好只有提取自身,如 {"id":"001","code":"1111","msg":"hello"},正則式可以寫成: "code":"(.*?)" )
*****************************************************************
響應斷言
性能測試不建議做斷言,因為會消耗jmeter工具的資源,而且性能測試不關心響應結果是pass還是fail。