jmeter中,接口自動化的關鍵在於參數關聯。比如需要登錄的接口,如何調用登錄口令?一個增刪改查的閉環,如何將接口參數上下傳遞?下面就以實際的例子來仔細說一說
1:登錄接口
這里有一個實際的登錄接口,在響應中返回了一串token,如下圖
那么我們在接下來的接口-經驗庫列表中,就必須帶入這一串token,否則響應報錯,如下圖所示
如何獲取登錄的口令呢?這里詳細說明一下,如圖所示
在接下來的接口中可以將獲取的token作為變量調用,變量名為${center-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的城市