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

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

pan nbsp 一個 註意 添加 變化 inf post img

說到Jmeter正則表達式提取器的應用,就不得不說到關聯。所謂關聯,就是把應用中動態變化返回的數據獲取到,把它保存為一個參數,提供給後面需要用到的地方進行使用。

Jmeter中關聯是通過“添加—後置處理器—正則表達式提取器”來獲取數據,且註意正則表達式提取器附在需要獲取數據的某個采樣器之下,數據一般從“查看結果樹“的響應數據獲取。

一、獲取單個數據

舉例:獲取用戶列表的結果如下,需要將"mobilephone":"158****1763" 手機號碼取出用來進行登錄操作

技術分享圖片

1、在獲取用戶列表請求下面添加—後置處理器—正則表達式提取器

技術分享圖片

正則表達式提取器說明:

Apply to:應用範圍

要檢查的響應字段:

樣本數據源。

引用名稱:其他地方引用時的變量名稱,我這裏寫的phone,可自定義設置,引用方法:${引用名稱}

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

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

匹配數字:正則表達式匹配數據的所有結果可以看做一個數組,匹配數字即可看做是數組的第幾個元素。-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個或更多連續的數字。更多可自行百度了解。

~~有任何問題歡迎留言,也歡迎加右上角群號交流~~

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