JMeter之Json Path Extractor使用(解決json接收上一個請求參數)

最近在使用Jmeter進行接口測試,被一個問題困擾了很久,就是第二個請求如何接收上一個請求響應中的參數,剛開始嘗試着用網上普遍說的正則表達式,長了了N多次之,都沒有達到我想要的效果,被整的夠慘,於是,開始嘗試使用第二種方法,就是Jmeter之Json Path Extractor,感覺棒極了,在此記錄下

 

除了正則提取器,對於返回結果爲 xml 或者 json 內容的請求,JMeter 分別有 XPath Extractor、JSON Path Extractor 等提取器進行提取。

1、下載安裝 Json Path Extractor插件,

1.1 插件安裝——JMeterPlugins-Extras-1.4.0.zip 解壓後,下載後解壓以後將lib和lib/ext中的jar包放到安裝目錄對應位置,重啓即可
地址:https://www.jianshu.com/p/56a607fc0d8f 或者 https://jmeter-plugins.org/wiki/JSONPathExtractor/
1.2 嘗試上述步驟沒有安裝成功,於是用JSONPathExtractorExample.jmx (在官網下的一個testplan)這個打開後點擊安裝,提示安裝成功。

成功後,重啓JMeter

2、使用方法

 

Variable names : 名稱 
JSONPath Expression:JSON表達式 
Match Numbers:匹配哪個,可爲空即默認第一個 
Default Value:未取到值的時候默認值

比如某一請求的返回值爲:

 

這裏因爲返回的是json數據,$.data.token,獲取token的值

但是有碰到一個坑 
另外一個接口請求返回值爲:

 

同樣,使用$.data.id去提取id的值時,發現獲取到的數據爲空 
原來這個responses 的data爲數組,故應爲 $.data[0].id 提取第1個值

如下:

3、實踐成功

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章