1. 程式人生 > >Jmeter介面測試(六)關聯&正則匹配

Jmeter介面測試(六)關聯&正則匹配

問題思考

  介面測試過程中經常需要介面之間關聯呼叫,比如獲取上一個介面的返回值,作為另一個介面的請求引數,那麼該如何從處理呢?

  這裡需要使用 Jmeter 的正則表示式提取器,通過對響應的資料來提取指定的資料。

操作案例

  從請求 get請求 的響應資料中匹配username的值,然後建立請求 get-name 來引用 username 的值作為請求引數。

 

  設定步驟: 

    選中請求——新增——後置處理器——正則表示式提取器,將提取器名稱改為 提取username 

    根據 get請求 的響應,提取返回值中的 username 的配置如下:

 

正則表示式配置表


  • 引用名稱:請求要引用的變數名稱,如填寫 username,則可用${username}引用它。
  • 正則表示式:匹配需要的內容。
  • 模板:用$num$引用起來,如果在正則表示式中有多個匹配資料,num 表示匹配到的第幾個值給變數。如:

    $1$表示匹配到的第 1 個值儲存在變數中。

    匹配數字:0 代表隨機取值,1 代表全部取值,

    預設值:如果引數沒有取得到值,那預設給一個值讓它取。

  案例中正則表示式說明

  • ()
    括起來的部分就是要提取的。
  • . 匹配任何字串。
  • 一次或多次。
  • ? 非貪婪匹配,在找到第一個匹配項後停止。

   相關資料:正則表示式教程

 

  新建一個請求 get-name,在新的請求中將 get請求 返回的資料作為引數傳遞,上一篇說了變數引用使用 ${變數名} 的格式,關聯同樣如此,如下圖所示:

  執行之後,檢視 get-name 請求的內容是否正確,新的請求的引數為上一個請求的返回值。