##補充##
接口響應數據,一般為JSON,HTML格式的數據。
對於HTML的響應結果提取,可以使用正則表達式,也可以通過XPath來提取;對於JSON格式的數據,可以用正則表達式,JSON Extractor插件,BeanShell來提取JSON響應結果。
比如:想要獲取響應中的 robotCallJobId 作為下一個接口的入參,可以使用JMeter的JSON提取器(JSON Extractor),提取該值,參數化該入參
操作步驟如下:
1.安裝JMeter插件管理器(Plugins Manager)
下載地址:https://jmeter-plugins.org/install/Install/
直接下載 plugins-manager.jar,然后把jar包放到JMeter的安裝路徑下:/apache-jmeter-3.2/lib/ext,重啟JMeter,進入JMeter的GUI頁面,會發現多了一個插件管理器的標志,點擊打開選擇要用的插件(JSON Extractor)安裝
在Available Plugins中選擇需要安裝的插件(JSON/YAML Path Extractor),安裝了的插件可以在 Installed Plugins中查看
2.使用JSON/YAML Path Extractor 提取響應JSON中的某一具體值
在需要提取響應數據的HTTP請求下面,添加一個 jp@gc - JSON/YAML Path Extractor ,添加路徑為:HTTP請求-》添加-》后置處理器-》 jp@gc - JSON/YAML Path Extractor
根據JSON格式,提取想要的數據
##解釋##
1》.Destination Variable Name:指變量名稱,就是你要提取的那個數據的key值
2》.JSONPath Expression:指要獲取數據的JSON層級,層級一定要書寫正確,否則會提取失敗,同時數組類的級別,需要指定下標
3》.Default Value:缺省值,當會有獲取數據時,傳入的值
3. 在接口中,使用提取的數據作為入參
3.1在Body Data中,使用${變量名稱},如 ${robotCallJobId}傳參,當提取的值是一組數據,但是下個接口並不需要傳入all數據,而且該數組中的部分數據,此時可以使用下標,指定傳入的參數,${robotCallJobId_1}表示第一個值,${robotCallJobId_n}表示該數組的第N個值
3.2在Parameters中使用${變量名稱},如${robotCallJobId} 當成value值傳參
這樣就實現了,將上一個接口的JSON響應數據獲取,作為下一個接口的入參了