1. 程式人生 > >Jmeter之正則表示式提取器應用

Jmeter之正則表示式提取器應用

說到Jmeter正則表示式提取器的應用,就不得不說到關聯。

所謂關聯,就是把應用中動態變化返回的資料獲取到,把它儲存為一個引數,提供給後面需要用到的地方進行使用。

Jmeter中關聯是通過“新增—後置處理器—正則表示式提取器”來獲取資料,且注意正則表示式提取器附在需要獲取資料的某個取樣器之下,資料一般從“檢視結果樹“的響應資料獲取。

一、獲取單個數據

舉例:獲取使用者列表的結果如下,需要將"mobilephone":“158****1763” 手機號碼取出用來進行登入操作 在這裡插入圖片描述 1、在獲取使用者列表請求下面新增—後置處理器—正則表示式提取器 在這裡插入圖片描述 正則表示式提取器說明:

Apply to:應用範圍。

要檢查的響應欄位:樣本資料來源。

引用名稱:其他地方引用時的變數名稱,我這裡寫的phone,可自定義設定。

引用方法:${引用名稱}

正則表示式:資料提取器,()括號裡為你要獲取的的值。“mobilephone”:"( 相當於LR左邊界, )","leaveamount"相當於LR右邊界。而括號裡\d+為正則表示式,用來匹配所需要獲取的資料,何謂正則表示式文章末尾會附上說明

模板:$$對應正則表示式提取器型別。-1全部,0 隨機,1第一個2第二個,以此類推,若只有一個正則一般就填寫11

匹配數字:正則表示式匹配資料的所有結果可以看做一個數組,匹配數字即可看做是陣列的第幾個元素。-1表示全部,0隨機,1第一個,2第二個,以此類推。若只要獲取到匹配的第一個值,則填寫1

預設值:匹配失敗時的預設值。可以不寫。若需用於後續邏輯判斷,可簡單寫為 ERROR。

2、在獲取使用者列表新增的 Debug PostProcessor 為除錯所用,一般用於檢視獲取的變數值。從執行結果中,能看到獲取的值為如下: 在這裡插入圖片描述

3、在登入請求中,將正則表示式獲取的值進行引用。 在這裡插入圖片描述 在這裡插入圖片描述 二、獲取多個數據

舉例:在使用者列表的結果中,需要將"id":82,“mobilephone”:“150****7414”, 使用者id、手機號碼都取出用來進行後續登入、投資操作

1、注意如果包含多個正則,我們進行如下設定 在這裡插入圖片描述 其中,我們可以通過 Debug PostProcessor 來檢視結果 在這裡插入圖片描述 從結果中,如果我們要引用id、mobilephone的話,也就是這裡user_g1、user_g4分別指代的值。

2、注意變數值在登入、投資請求中的引用! 在這裡插入圖片描述 在這裡插入圖片描述 附正則表示式說明: 在這裡插入圖片描述 在這裡插入圖片描述 通俗點來講正則表示式就是用來匹配字串的公式。

比如正則表示式中\d+ 是來匹配1個或更多連續的數字。