說到Jmeter正則表達式提取器的應用,就不得不說到關聯。所謂關聯,就是把應用中動態變化返回的數據獲取到,把它保存為一個參數,提供給后面需要用到的地方進行使用。
Jmeter中關聯可以通過“添加—后置處理器—正則表達式提取器”來獲取數據,且注意正則表達式提取器附在需要獲取數據的某個采樣器之下,數據一般從“查看結果樹“的響應數據獲取。
一、獲取單個數據
舉例:結果如下,需要將"param"和"sign" 取出用來進行后續操作
1、在獲取用戶列表請求下面添加—后置處理器—正則表達式提取器
正則表達式提取器說明:
Apply to:應用范圍
要檢查的響應字段:樣本數據源。
引用名稱:其他地方引用時的變量名稱,我這里寫的phone,可自定義設置,引用方法:${引用名稱}
正則表達式:數據提取器,()括號里為你要獲取的的值。"mobilephone":"( 相當於LR左邊界, )","leaveamount"相當於LR右邊界。而括號里\d+為正則表達式,用來匹配所需要獲取的數據,何謂正則表達式文章末尾會附上說明
模板:用於從找到的匹配項創建字符串的模板。這是一個帶有特殊元素的任意字符串,用於引用正則表達式中的組。引用組的語法是:' $ 1 $ '引用組1,' $ 2 $ '引用組2,等等。$ 0 $引用整個表達式匹配的內容。
匹配數字:正則表達式匹配數據的所有結果可以看做一個數組,匹配數字即可看做是數組的第幾個元素。-1表示全部,0隨機,1第一個,2第二個,以此類推。若只要獲取到匹配的第一個值,則填寫1
缺省值:匹配失敗時的默認值。可以不寫。若需用於后續邏輯判斷,可簡單寫為 ERROR。
2、在獲取用戶列表添加的 Debug PostProcessor 為調試所用,一般用於查看獲取的變量值。
從執行結果中,能看到獲取的值為如下:
從結果中,如果我們要引用"param"和"sign" 的話,也就是這里parm_g1和parm_g1分別指代的值
3、在登錄請求中,將正則表達式獲取的值進行引用。
附正則表達式說明: