JMeter使用JSON Extractor外掛實現將一個介面的JSON返回值作為下一個介面的入參
##補充##
介面響應資料,一般為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}傳參
3.2在Parameters中使用${變數名稱},如${robotCallJobId} 當成value值傳參
這樣就實現了,將上一個介面的JSON響應資料獲取,作為下一個介面的入參