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請求,
10.我們再來點擊綠色箭頭啟動,查看這兩個HTTP請求完成后的響應數據,可以看到第二個HTTP請求地址就是第一個HTTP請求的響應數據的URL
 
11.如果是要獲取第一個HTTP的響應數據的URL地址的后面數字作為第二個HTTP的參數,做法也是一樣的,只是正則表達式不一樣,
如第一個HTTP請求完成后的響應數據{"status":"ok","message":"創建房間成功","data":{"url":"https://www.pp2pp.xyz/room/58ff022f5cd4c32ae9a7f457"}} 如果我們只需要URL后面的數字58ff022f5cd4c32ae9a7f457,那么正則表達式為  "url":"https://www.pp2pp.xyz/room/(.+?)"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM