jmeter實現(xiàn)接口關(guān)聯(lián)的兩種方式(正則表達式提取器和json提取器)
一、前言
在開展接口測試或者是接口面試的過程中,我們會發(fā)現(xiàn)很多接口需要依賴前面的接口,需要我們動態(tài)從前面的接口返回中提取數(shù)據(jù),也就是我們通常說的關(guān)聯(lián)。
關(guān)聯(lián)通俗來講就是把上一次請求的返回內(nèi)容中的部分截取出來保存為參數(shù),用來傳遞給下一個請求使用。
二、使用正則表達式提取器實現(xiàn)接口關(guān)聯(lián)
正則表達式提取器,見名知意就是使用正則表達式的方法把我們需要提取的內(nèi)容通配出來。
原理:通過左右二邊不變的邊界來提取中間變的返回值

如上圖:需要提取access_token
{"access_token":"31_qz2HtPalsk5Ey1ToWJaZ6Kaojf8y-BhxTHEmuO111m8_Gc_77HRvMuG4ltbd9gHskqi0XAq8phQys9K8awso4iq-VSr0bArrd-zC-nY0Ltudp-HcPZV7y291YjLYoeJBHW2zhB7-lWYzeTsqFKOhAHANSW","expires_in":7200}
1、在需要獲得數(shù)據(jù)的請求“1.獲取access_token” 上右擊添加一個后置處理器-->正則表達式提取器

引用名稱:即下一個請求要引用的參數(shù)名稱,如填寫access_token,則可用${ access_token}引用它。
正則表達式:()括起來的部分就是要提取的。.代表任意字符,+表示一次或多次,*代表出現(xiàn)任意次。
模板:用$$引用起來,如果在正則表達式中有多個正則表達式,則可以是$2$,$3$等等,表示解析到的第幾個值給access_token。本處只有1個,所有使用$1$。
匹配數(shù)字:0代表隨機,-1代表所有,其余正整數(shù)代表將在檢查的內(nèi)容中,第幾個匹配的內(nèi)容提取出來。
2.在后面的接口中使用${ access_token}引用

3.使用調(diào)試取樣器檢查是否提取成功
添加調(diào)試取樣器-->運行測試-->通過查看結(jié)果樹里面的 調(diào)試取樣器 查看結(jié)果

如果你覺得此文對你有幫助,如果你對此文有任何疑問,如果你對軟件測試、接口測試、自動化測試、面試經(jīng)驗交流感興趣歡迎加入軟件測試技術(shù)群:695458161,群里發(fā)放的免費資料都是筆者十多年測試生涯的精華。還有同行大神一起交流技術(shù)哦。
三、使用json提取器實現(xiàn)接口關(guān)聯(lián)
?使用場合:接口關(guān)聯(lián),當前一個接口返回的數(shù)據(jù)類型為json格式的數(shù)據(jù),需要從返回的json數(shù)據(jù)中提取數(shù)據(jù)。
?
?可以將返回的值復制到 www.bejson.com-->json菜單-->json視圖-->json數(shù)據(jù)中,然后點擊試圖查看,如下圖:

json提取器的使用步驟
1.在需要獲得數(shù)據(jù)的請求“1.獲取access_token” 上右擊添加一個后置處理器-->JSON提取器
?
Name of created varialies:即下一個請求要引用的參數(shù)名稱,如填寫access_token,則可用${ access_token}引用它。
JSON Path? expressions:填寫jsonpath,格式:$. 節(jié)點名稱? ?根節(jié)點用 “.” 表示
Match Numbers:0代表隨機,-1代表所有,其余正整數(shù)代表將在檢查的內(nèi)容中,第幾個匹配的內(nèi)容提取出來。
Default Values:找不到時默認值,一般設(shè)置為NOT FOUND
Compute concatenation var(suffix_ALL):是否統(tǒng)計所有,即將匹配到的所有值保存,名為“變量名_ALL”
2.替換變量為${ 變量名}
?
3.使用 調(diào)試取樣器 檢查是否提取到了
?
四、擴展:返回復雜json數(shù)據(jù)的提取
如圖:{"tag":{"id":193,"name":"newdream20200324"}}

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

到此這篇關(guān)于jmeter實現(xiàn)接口關(guān)聯(lián)的兩種方式(正則表達式提取器和json提取器)的文章就介紹到這了,更多相關(guān)jmeter 接口關(guān)聯(lián)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring基于ProxyFactoryBean創(chuàng)建AOP代理
這篇文章主要介紹了Spring基于ProxyFactoryBean創(chuàng)建AOP代理,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下2019-10-10
Java ArrayList.toArray(T[]) 方法的參數(shù)類型是 T 而不是 E的原因分析
這篇文章主要介紹了Java ArrayList.toArray(T[]) 方法的參數(shù)類型是 T 而不是 E的原因分析的相關(guān)資料,需要的朋友可以參考下2016-04-04
Java數(shù)據(jù)類型Integer與int的區(qū)別詳細解析
這篇文章主要介紹了Java數(shù)據(jù)類型Integer與int的區(qū)別詳細解析,Ingeter是int的包裝類,int的初值為0,Ingeter的初值為null,int和integer(無論new否)比,都為true,因為會把Integer自動拆箱為int再去比,需要的朋友可以參考下2023-12-12
idea如何debug看springsecurity的過濾器順序
這篇文章主要介紹了idea如何debug看springsecurity的過濾器順序,文中通過圖文結(jié)合的方式給大家介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下2024-04-04

