當請求之間有依賴關系,比如一個請求的入參是另一個請求返回的數據,這時候就需要用到關聯處理,Jmeter可以通過“后置處理器”中的“正則表達式提取器”來處理關聯。
簡單的關聯
比如在訪問百度首頁時響應數據里面有一個title
<title>百度一下,你就知道</title> 我就想在其他的請求中引用這個title
添加正則表達式提取器並設置如下:

添加一個關聯請求來驗證這個關聯:

執行后我們看到關聯成功了

復雜一點的關聯,像取正則表達式結果里面多個值
比如一個請求的響應數據如下:

我們嘗試來提取0.0,84956.0,1019,3這四個數據,添加正則表達式提取器做如下設置

引用名稱: 引用名稱和引用的方法,不用多解釋,和變量參數化差不多。
正則表達式: 凡是要被引用的部分都替換成圓括號,括號內具體的表達式您可以單獨查閱正則表達式相關的知識。
模板: 代表從正則表達式結果引用的樣式,其實結果是一組,而不是一個。$0$代表這一組結果的全部,$1$代表這一組結果的第1個,以此類推;
$1$$2$代表該正則表達式一組結果中的第1個和第2個,倆結果挨在一起中間沒有間隔;
$3$,$4$代表該正則表達式一組結果中的第3個和第4個,倆結果間有一個逗號相連。
匹配數字: 0代表正則表達式結果組中隨機,1代表全部。
缺省值: 當引用不對時顯示傳遞的信息,通暢寫一個ERROR。
如上設置好正則表達式提取器后,我們可以添加一個被關聯的驗證請求,如下:

事實上,myref_g0,myref_g1...myref_g4 是正則表達式的結果組,而myref才是被模板控制提取出來結果,這里為了更清晰的觀察正則表達式的結果組才在驗證請求中添加這么多參數,實際使用是用一個myref和模板配合就可以了。
myref_g0={"rent":0.0,"price":84956.0,"totalprice":1019,"roomType":3}
myref_g1=0.0
myref_g2=84956.0
myref_g3=1019
myref_g4=3
1. 模板 $0$

2.模板$1$$2$

3.模板$3$,$4$

另外對於匹配數字,目前我只看到 0和1,取其他整數的情況也許還有,那一定是更復雜一點的情況,目前0或1對我來說已經夠用了,以后遇到其他情況再來更新吧。
