Jmeter如何將上一個請求的結果作為下一個請求的引數——使用正則表示式提取器
正則表示式提取器是一個後置處理器,作用是在請求完成後,從響應資料中擷取一部分字串儲存到變數中,以便下一個請求使用,下面我們就來做一個簡單的例子吧
1.首先線上程組下新增兩個HTTP請求,
2.新增好兩個HTTP請求後,在每個HTTP請求下新增一個檢視結果數
3.在第一個HTTP請求下新增正則表示式提取器
4.在第一個HTTP請求新增好IP地址,路徑,埠號,協議,方法,如果有引數,還需要新增引數,我這裡沒有引數所以就不添加了
5.點選綠色箭頭啟動,檢視第一個HTTP請求完成後的響應資料
6.第一個HTTP請求完成後的響應資料的url是隨機變化的,每次HTTP請求完成後的響應資料的url是不同的,現在需要獲取第一個HTTP請求完成後的響應資料的url作為第二個HTTP請求的IP地址,這個時候就需要用到正則表示式提取器,正則表示式提取器是一個後置處理器,作用是在請求完成後,從響應資料中擷取一部分字串儲存到變數中,以便下一個請求使用。
7.現在編輯正則表示式提取器
8.說明:
(1)引用名稱:作為下一個請求要引用的引數名稱,如填寫myurl,則可用${myurl}引用它來作為第二個HTTP請求的IP地址
(2)正則表示式用""包起來,如第一個HTTP請求完成後的響應資料{"status":"ok","message":"建立房間成功","data":{"url":"https://www.pp2pp.xyz/room/58ff022f5cd4c32ae9a7f457"}} 我們只需要URL,所以正則表示式為 "url":"https://(.+?)"
() 表示括起來的部分就是要提取的。
. 表示匹配任何字串。 + 表示一次或多次。 ?表示不要太貪婪,在找到第一個匹配項後停止。 (3)模板:用$$引用起來,如果在正則表示式中有多個正則表示式,則可以是$2$,$3$等等,表示解析到的第幾個值給myurl。如:$1$表示解析到的第1個值,我們這裡只有一個正則表示式,所以是$1$ (4)匹配數字:0代表隨機取值,1代表全部取值,通常情況下填1 (5)預設值:如果引數沒有取得到值,那預設給一個值讓它取,通常情況下為空 9.現在可以開始編輯第二個HTTP請求,