Jmeter- 筆記5 - 從響應數據提取信息


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。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM