sampler請求的服務器響應結果中通過正則表達式提取值所需值,生成模闆字符串,并将結果存儲到給定的變量名中。
界面如下:
正則表達式提取器界面
1)Main sample and sub-samples:作用于主節點的取樣器及對應子節點的取樣器
2)Main sample only:僅作用于主節點的取樣器
3)Sub-samples only:僅作用于子節點的取樣器
4)JMeter Variable:作用于jmeter變量(輸入框内可輸入jmeter的變量名稱),從指定變量值中提取需要的值。
1)主體:響應報文的主體,最常用
2)Body(unescaped):主體,是替換了所有的html轉義符的響應主體内容,注意html轉義符處理時不考慮上下文,因此可能有不正确的轉換,不建議使用
3)Body as a Document:從不同類型的文件中提取文本,注意這個選項比較影響性能
4)Response Headers(信息頭):響應信息頭(
5)Request Headers:請求信息頭
6)URL:請求url
7)Response Code(響應代碼):響應狀态碼,比如200、404等
8)Response Message(響應信息):響應信息
Jmeter變量的名稱,存儲提取的結果;即下個請求需要引用方法是${變量名}。
使用正則表達式解析響應結果,()括号表示提取字符串中的部分值,前後是提取的邊界内容。
常用正則表達式:(.*?)表示匹配任意長度的任意字符,是最常用的正則表達式,基本能滿足80%場景要求
正則表達式的提取模式。如果正則表達式有多個提取結果,則結果是數組形式,模闆$1$,$2$等等,表示把解析到的第幾個值賦給變量;從1開始匹配,以此類推。
若隻有一個結果,則隻能是$1$;有多個結果,可以使用$1$$2$方式取2個值。
正則表達式匹配數據的結果可以看作一個數組,表示如何取值:
1)0代表随機取值,默認
2)正數n表示取第n個值,(1:第一個值 )
3)負數表示提取所有符合條件的值,(-1:所有)
匹配不到值的時,取該值;
勾選後,提取不到值時,則返回空字符串。
Field to check 詳細樣例1)主體(body)
2)Response Headers(信息頭)
3)Request Headers:請求信息頭
4)URL
5)Response Code(響應代碼)和Response Message(響應信息)
提取某個特定的值的例子
正則表達式提取器如下:
測試結果:
調試取樣器
使用變量,也可以通過變量名_g直接進行提取,如下:
一條正則表達式匹配多個值
正則表達式提取器
測試結果:
1.1.1.4. 一條正則表達式有多個匹配值
正式表達式:
備注:多個模闆( $1$$2$ )的時候,可以用空格、, 、. 、 - 連接模闆
測試結果:
備注:在調試過程中可結果察看結果樹和Debug sample來幫助分析結果。
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!