JMeter-一個接口的返回值作為輸入傳給其他接口
背景:
在用JMeter寫接口case,遇到一種情況,接口1查看列表接口,接口2查看詳情接口,接口2需要傳入接口1列表的第一條數據的id
因為這個id後面我可能會改變,所以也不適合作為全局變量來設置
解決方案:
首先放一下總體截圖
具體步驟
1-新建一個Thread Group即線程組,在該線程組下面添加接口1的HTTPrequest,填寫路徑方法和參數等(選擇線程組右鍵-add-HTTPrequest)
2-選擇接口1的HTTPrequest ,右鍵新建一個正則表達式提取器,即上圖中的「提取id」
3-在結果樹觀察列表接口的返回值,確認正則表達式 “content”:\[\{“id”:”(.+?)”能夠獲取到第一個id
4-將正則表達式和id補充到提取器的正則表達式內,注意要勾選驗證區域!否則會搜不到,我們這裡是查看返回值,選擇了Body
引用名稱:下一個請求要引用的參數名稱,如填寫id,則可用${id}引用它
模板:用$*$引用起來,表示解析到的第幾個值,如:$1$表示解析到的第1個值
匹配數字:0代表隨機取值,1代表第一個,-1代表每一個
5-在線程組下,新建一個 Debug Sampler(新建路徑:右鍵新線程組 – 添加 – Sampler – Debug Sampler),方便查看所提取的環境變量值是否正確
6-在當前線程組下新建一個接口2的HTTPrequest,寫清路徑方法等,傳參的id 寫${id}
注意!!兩個接口必須在一個線程組下面,否則會獲取不到提取值。
當然依賴接口1數據的接口2在順序上,也應該在下面,JMeter的接口運行時按序運行的
7-查看結果樹