Jmeter介面測試(六)關聯&正則匹配
阿新 • • 發佈:2019-01-08
問題思考
介面測試過程中經常需要介面之間關聯呼叫,比如獲取上一個介面的返回值,作為另一個介面的請求引數,那麼該如何從處理呢?
這裡需要使用 Jmeter 的正則表示式提取器,通過對響應的資料來提取指定的資料。
操作案例
從請求 get請求 的響應資料中匹配username的值,然後建立請求 get-name 來引用 username 的值作為請求引數。
設定步驟:
選中請求——新增——後置處理器——正則表示式提取器,將提取器名稱改為 提取username
根據 get請求 的響應,提取返回值中的 username 的配置如下:
正則表示式配置表
- 引用名稱:請求要引用的變數名稱,如填寫 username,則可用${username}引用它。
- 正則表示式:匹配需要的內容。
- 模板:用$num$引用起來,如果在正則表示式中有多個匹配資料,num 表示匹配到的第幾個值給變數。如:
$1$表示匹配到的第 1 個值儲存在變數中。
匹配數字:0 代表隨機取值,1 代表全部取值,
預設值:如果引數沒有取得到值,那預設給一個值讓它取。
案例中正則表示式說明
- ()
- . 匹配任何字串。
- + 一次或多次。
- ? 非貪婪匹配,在找到第一個匹配項後停止。
相關資料:正則表示式教程
新建一個請求 get-name,在新的請求中將 get請求 返回的資料作為引數傳遞,上一篇說了變數引用使用 ${變數名} 的格式,關聯同樣如此,如下圖所示:
執行之後,檢視 get-name 請求的內容是否正確,新的請求的引數為上一個請求的返回值。