Jmeter 使用正則表達式提取響應結果中的值


正則表達式提取的界面如下圖:

apply to:

Main sample and sub-samples:作用於父節點取樣器及對應子節點取樣器
Main sample only:僅作用於父節點取樣器
Sub-samples only:僅作用於子節點取樣器
JMeter Variable:作用於jmeter變量(輸入框內可輸入jmeter的變量名稱)

要檢查的響應字段:樣本數據源

主體: 接口響應主體內容,默認選擇此項
信息頭:響應頭的所有內容
Request Headers:請求頭的所有內容
url:是對sample的url進行匹配,也就是查看結果樹里請求內容的第一行url,不包含data里的請求參數
響應代碼:http響應代碼,如101,200,302,404,501等
響應信息:http響應代碼對應的響應信息,例如:OK, Found(HTTP/1.1 200 Ok;HTTP/1.1 302 Found)

引用名稱:

其他地方引用時的變量名稱,名稱只能是一個,引用方法:${變量名稱}

正則表達式:

數據提取器,一般簡單的通用語法就是:左邊界(.*?)右邊界,左右邊界就是為了能准確定位到想匹配的內容

具體語法如下:

 提到正則表達式,必須要說一下匹配的兩種模式:貪婪和非貪婪
貪婪與非貪婪模式是兩種不同的表達式匹配行為,貪婪模式在整個表達式匹配成功的前提下,盡可能多的匹配,而非貪婪模式在整個表達式匹配成功的前提下,盡可能少的匹配

模板:

對應正則表達式提取器類型,樣式為:
$n$。若模板為:$0$,則為整個表達式匹配到的內容,就是包括小括號內跟小括號外的內容,
若模板為:$1$,則對應正則表達式中的第一個(.*?)所匹配的內容
若模板為:$2$,則對應正則表達式中的第二個(.*?)所匹配的內容
若模板為$1$$2$,則把2個(.*?)所匹配的內容拼接起來,即(83EEAA887F1D2F1AA1CDA9E1978109920)

 

匹配數字:

正則表達式匹配數據的最終結果可以看做一個數組,匹配數字即可看做是數組的第幾個元素。
當為 0 時,隨機返回匹配的數據。
當為 1 時,表示返回匹配結果數組的第一個元素
當為負數(-1,-2,-100都可以)時,表示返回全部元素,並且同時會返回一個元素總數的變量
在引用時:通過${變量名_1}的方式來取第1個匹配的內容,${變量名_2}來取第2個匹配的內容

 

缺省值:

匹配失敗時的默認值。通常用於后續的邏輯判斷,建議使用一些特殊含義的,比如0,NULL,ERROR等。

 


免責聲明!

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



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