位置:Post-Processors - Regular Expression Extractor
所謂的Post-Processors直譯為后處理器,意思是在域內所有Sampler執行完后才會執行,所以如果你想只對某個Sampler生效的話,那就加成子對象
這個組件可以用來做關聯,非常有用
Apply to,作用域,主要作用在於是否作用在sub-sampler
Field to check,分的很細,意思是你打算去哪里取值
Reference Name,變量名,取值后存儲的對象名,可以用作${變量名},另外${變量名}_g#,#代表第幾組,g0表示完全匹配,包含整個字符串,g1代表從第對括號開始匹配,g2表示第二對括號開始的匹配
Regular Expression: 正則表達式
Template: $1$指向group 1,即匹配第一個正則表達式括號內的內容,依次類推
Match No: 選擇第幾次匹配到的值,有可能一個Sampler下面匹配到多個值,這時這個變量就可以用到,0代表隨機取,可以用在每次取到的值是一樣的情況下
Default Value: 如果沒有匹配到的默認值,建議設置,可以快速定位問題
例子
第一個請求里有個XSRF-TOKEN在response header里面
需要在第二個請求里用到,我在第二個請求的header manager里面定義了一個叫token的變量
將Regular Expression Extractor加為第一個請求的子對象
這樣就可以執行成功了,如果去掉這里的Regular Expression Extractor,則會執行失敗,因為這里的XSRF-TOKEN對象會一直變化,所以只有在第一個請求執行完了,去response header里動態地去取
打印下其中的變量
token_g=1 表示一組匹配,g0不算
token_g0,一個全量的匹配
token_g1,第一個括號內的匹配
因為只有一組匹配,所以這里Match No放0,隨機只能取到唯一的一組值,g0不算