【jmeter】實現接口關聯的兩種方式:正則表達式提取器和json提取器


關聯通俗來講就是把上一次請求的返回內容中的部分截取出來保存為參數,用來傳遞給下一個請求使用。

示例:

  1.用戶密碼進行登錄,登錄后生成authentication

  2.需要將登錄接口響應結果中authentication的作為一個參數,傳給下一個接口

  如下圖,需要提取登錄接口返回的authentication傳遞給下一個預約訂單列表接口header中

 

一、使用正則表達式提取器實現接口關聯

1.添加方式:在需要獲取數據的請求上(該場景中為登錄接口) 右鍵-->后置處理器--> 選擇正則表達式提取器

 參數說明:

  引用名稱:即下一個請求要引用的參數名稱,如填寫authentication,則可用${ authentication}引用它。

  正則表達式:()括起來的部分就是要提取的。.代表任意字符,+表示一次或多次,* 表示零次或多次,?表示零次或一次。(具體正則表達式規則可百度)

  模板:用$$引用起來,如果在正則表達式中有多個正則表達式,則可以是$2$,$3$等等,表示解析到的第幾個值給authentication。本處只有1個,所有使用$1$。

  匹配數字:0代表隨機,-1代表所有,其余正整數代表將在檢查的內容中,第幾個匹配的內容提取出來。

 

2.在后面的接口中使用${authentication}引用

 

二、使用json提取器實現接口關聯

  使用場合:接口關聯,當前一個接口返回的數據類型為json格式的數據,需要從返回的json數據中提取數據。

 

1.添加方式:在需要獲取數據的請求上(該場景中為登錄接口) 右鍵-->后置處理器--> 選擇JSON提取器

 

 參數說明: 

  Name of created varialies:即下一個請求要引用的參數名稱,如填寫authentication,則可用${ authentication}引用它。

  JSON Path  expressions:填寫jsonpath,格式:$. 節點名稱   根節點用 “.” 表示

  Match Numbers:0代表隨機,-1代表所有,其余正整數代表將在檢查的內容中,第幾個匹配的內容提取出來。

  Default Values:找不到時默認值,一般設置為NOT FOUND

  Compute concatenation var(suffix_ALL):是否統計所有,即將匹配到的所有值保存,名為“變量名_ALL”

2.替換變量為${ 變量名}

三、返回復雜json數據的提取

例如獲取數組類型的數據:第二個item中第一個hospTags中name值,可以先在察看結果樹種選擇Json Path Tester查看返回的相應數據,Json Path Expression輸入需要通過jsonpath方式獲取的值點擊Test檢查結果是否正確

 

添加方式:右鍵-->后置處理器--> 選擇JSON提取器

 


免責聲明!

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



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