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

一、前言

在開展接口測試或者是接口面試的過程中,我們會發現很多接口需要依賴前面的接口,需要我們動態從前面的接口返回中提取數據,也就是我們通常說的關聯。

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

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

正則表達式提取器,見名知意就是使用正則表達式的方法把我們需要提取的內容通配出來。

原理:通過左右二邊不變的邊界來提取中間變的返回值

如上圖:需要提取access_token

{“access_token”:”31_qz2HtPalsk5Ey1ToWJaZ6Kaojf8y-BhxTHEmuO111m8_Gc_77HRvMuG4ltbd9gHskqi0XAq8phQys9K8awso4iq-VSr0bArrd-zC-nY0Ltudp-HcPZV7y291YjLYoeJBHW2zhB7-lWYzeTsqFKOhAHANSW”,”expires_in”:7200}

1、在需要獲得數據的請求“1.獲取access_token” 上右擊添加一個後置處理器–>正則表達式提取器

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

正則表達式:()括起來的部分就是要提取的。.代表任意字符,+表示一次或多次,*代表出現任意次。

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

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

2.在後面的接口中使用${ access_token}引用

3.使用調試取樣器檢查是否提取成功

添加調試取樣器–>運行測試–>通過查看結果樹裡面的 調試取樣器 查看結果

如果你覺得此文對你有幫助,如果你對此文有任何疑問,如果你對軟件測試、接口測試、自動化測試、面試經驗交流感興趣歡迎加入軟件測試技術群:695458161,群裡發放的免費資料都是筆者十多年測試生涯的精華。還有同行大神一起交流技術哦。

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

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

 

 可以將返回的值復制到 www.bejson.com–>json菜單–>json視圖–>json數據中,然後點擊試圖查看,如下圖:

json提取器的使用步驟

1.在需要獲得數據的請求“1.獲取access_token” 上右擊添加一個後置處理器–>JSON提取器

 

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

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

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

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

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

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

 

3.使用 調試取樣器 檢查是否提取到瞭

 

四、擴展:返回復雜json數據的提取

如圖:{“tag”:{“id”:193,”name”:”newdream20200324″}}

 JSON提取器配置如下: $.tag.name

到此這篇關於jmeter實現接口關聯的兩種方式(正則表達式提取器和json提取器)的文章就介紹到這瞭,更多相關jmeter 接口關聯內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: