jmeter中,接口自動化的關鍵在於參數關聯。好比須要登陸的接口,如何調用登陸口令?一個增刪改查的閉環,如何將接口參數上下傳遞?下面就以實際的例子來仔細說一說正則表達式
1:登陸接口數組
這裏有一個實際的登陸接口,在響應中返回了一串token,以下圖測試
那麼咱們在接下來的接口-經驗庫列表中,就必須帶入這一串token,不然響應報錯,以下圖所示
spa
如何獲取登陸的口令呢?這裏詳細說明一下,如圖所示
3d
在接下來的接口中能夠將獲取的token做爲變量調用,變量名爲${center-token},以下圖
blog
觀察請求頭,發現傳入了一串token,而且響應結果正確token
自此,一個完整的登陸關聯就結束了。後續接口直接調用該token就能夠。咱們接下來繼續說其它的參數關聯接口
好比一個增刪改查流程,想要作自動化檢驗就必須造成一個閉環,那麼刪除-修改-查看就必須調用同一個必填參數,例如惟一性的id。下面仍是實例演示 測試開發交流羣 317765580開發
我先新增一個經驗庫,能夠看到結果中返回了一個id,我在後續接口中都必須調用此惟一性的id字符串
接下來寫一個正則將其取出,注意與以前token正則的不一樣之處
後續接口能夠調用此參數,並正確響應
好了,一個完整的登陸-查看-刪除的流程到這裏就能夠結束了
引用名稱:定義一個變量,供後續請求引用
通常(.+?)和(.*?)可以知足咱們80%的使用場景。因此,通常的正則表達式均可以寫成下面這2種
左邊界(.+?)右邊界
左邊界(.*?)右邊界
left對應匹配目標的起始字符
right對應匹配目標的結束字符
正則表達式:利用正則將須要的數據提取出來
() 括起來的部分就是須要提取的,對於你要提的內容須要用小括號括起來
. 點號表示匹配任何字符串
+ 一次或屢次
? 在找到第一個匹配項後中止
模板:用$$引用起來,若是在正則表達式中有多個正則表達式(多個括號括起來),則能夠是$N$等,表示提取第N個括號裏面的值
匹配數字 -1:表示取全部返回值,此時提取結果是一個數組,其他正整數表明第幾個匹配的內容提取出來。若是匹配數字選擇的是-1,後續還能夠經過${XXX_1}的方式來取第1個匹配的內容,${XXX_2}來取第2個匹配的內容。
匹配數字1:表示取第一個返回值
匹配數字0:表示隨機取一個返回值
缺省值:正則匹配失敗時取的值
例1:提取第一個Name
、
例2:提取所有Name
例3:表達式同時提取Name和population,並傳出兩個參數
例4:條件判斷取值
提取population=800的城市