問題思考
接口測試過程中經常需要接口之間關聯調用,比如獲取上一個接口的返回值,作為另一個接口的請求參數,那么該如何從處理呢?
這里需要使用 Jmeter 的正則表達式提取器,通過對響應的數據來提取指定的數據。
操作案例
從請求 get請求 的響應數據中匹配username的值,然后創建請求 get-name 來引用 username 的值作為請求參數。
設置步驟:
選中請求——添加——后置處理器——正則表達式提取器,將提取器名稱改為 提取username
根據 get請求 的響應,提取返回值中的 username 的配置如下:

正則表達式配置表
- 引用名稱:請求要引用的變量名稱,如填寫 username,則可用${username}引用它。
- 正則表達式:匹配需要的內容。
- 模板:用$num$引用起來,如果在正則表達式中有多個匹配數據,num 表示匹配到的第幾個值給變量。如:
$1$表示匹配到的第 1 個值存儲在變量中。
匹配數字:0 代表隨機取值,1 代表全部取值,
缺省值:如果參數沒有取得到值,那默認給一個值讓它取。
案例中正則表達式說明
- () 括起來的部分就是要提取的。
- . 匹配任何字符串。
- + 一次或多次。
- ? 非貪婪匹配,在找到第一個匹配項后停止。
相關資料:正則表達式教程
新建一個請求 get-name,在新的請求中將 get請求 返回的數據作為參數傳遞,上一篇說了變量引用使用 ${變量名} 的格式,關聯同樣如此,如下圖所示:

運行之后,查看 get-name 請求的內容是否正確,新的請求的參數為上一個請求的返回值。

