1. 程式人生 > >使用JMeter進行API功能測試

使用JMeter進行API功能測試

路徑 文件中 技術分享 斷言 sam 直接 resp 延遲 simple

使用JMeter進行API功能測試

Apache JMeter是一種流行的開源軟件,用於性能測試。

在本博客中,我們將闡明如何使用JMeter for REST API自動化進行功能測試。

我們使用了https://reqres.in/site中的示例API ,其中列出了可用於測試的多個真實API。我們選擇了用戶管理API,可以註冊用戶,登錄用戶,列出所有用戶,創建用戶,更新用戶刪除用戶

列出用於此測試腳本的API:

/api/users?page=2

/api/users/2

/api/register

/api/login

使用JMeter,我們考慮了以下示例REST端點:

  • 使用HTTP POST添加新用戶。
  • 使用HTTP GET檢索所有用戶的列表。
  • 使用HTTP PUT更新新添加的用戶。
  • 使用HTTP DELETE刪除添加的用戶。

步驟1創建新的測試計劃 - >右鍵單擊 - >添加 - >線程 - >線程組

技術分享圖片

技術分享圖片

  1. 將線程數(用戶)設置為10 - 我們將有10個用戶執行測試計劃。
  2. 將Ramp-up周期(以秒為單位)設置為10 - Ramp-up周期告訴JMeter在處理下一個用戶之前的延遲時間。
  3. 將循環計數設置為10 - 執行測試的次數。

註意:邏輯控制器確定執行用戶請求的順序。簡單控制器只是用戶請求的容器。

第2步線程組 - >右鍵單擊 - >添加 - >邏輯控制器 - >簡單控制器

技術分享圖片

第3步簡單控制器 - >右鍵單擊 - >添加 - >采樣器 - > Http采樣器請求技術分享圖片

POST方法

POST請求用於在數據源中創建新記錄。

添加新用戶

步驟1:創建POST方法請求,以使用兩個參數(電子郵件和密碼)註冊新用戶,並將其重命名為“註冊成功”。

  • 輸入協議為“https”,IP地址為“reqres.in”。
  • 選擇方法為“POST”。
  • 輸入API路徑。同樣,我們可以成功登錄並使用“POST”方法創建用戶。

技術分享圖片

  • 名稱:發布項目
  • 方法:POST
  • 正文數據:JSON項目對象

在響應斷言中添加要測試的模式

技術分享圖片

第2步 創建文本文件並將參數保存在該文件中。Jmeter動態使用CSV數據存儲多個數據對象,更新數據值等。

技術分享圖片

技術分享圖片

第3步線程組→添加Http頭管理器

添加內容類型和令牌

技術分享圖片

第4步保存並運行註冊成功測試用例。

技術分享圖片

步驟5Threadgroup-> Add-> Listener-> View Results Tree

技術分享圖片

技術分享圖片

技術分享圖片

GET方法

GET方法用於檢索數據源中的信息。

檢索所有用戶的列表。

第1步:簡單控制器 - >右鍵單擊 - >添加 - >另一個采樣器 - > Http采樣器請求

  • 添加另一個HTTP采樣器請求。
  • 輸入協議為“https”,IP地址為“reqres.in”。
  • 選擇方法為“GET”。
  • 輸入列表用戶的API路徑。

技術分享圖片

  • 路徑:/ users / $ {userId}
  • 方法:GET

第2步Listusers->右鍵單擊 - >添加 - >斷言 - >響應斷言

技術分享圖片

第3步列表用戶→添加 - >監聽器

  • 保存並運行“listusers”測試用例。
  • 查看列出所有用戶的響應數據。

技術分享圖片

PUT方法用於更新數據源中的現有記錄。

更新添加的用戶。

第1步:簡單控制器 - >右鍵單擊 - >添加 - >另一個采樣器 - > Http Request Sampler

  • 添加另一個HTTP請求采樣器並將其命名為“updateusers”。
  • 將方法設置為“PUT”。
  • 輸入協議為“https”,ip地址為“reqres.in”。
  • 輸入API路徑。
  • 將用戶的詳細信息添加為正文數據。

第2步值直接傳遞到帖子數據。

技術分享圖片

步驟3更新用戶 - >添加 - >斷言 - >響應斷言

技術分享圖片

第4步保存並運行“updateusers”測試用例。 查看更新用戶的響應數據。

技術分享圖片

刪除方法

DELETE請求用於刪除數據源中的現有記錄。

從列表中刪除用戶。

第1步:簡單控制器 - >右鍵單擊 - >添加 - >另一個采樣器 - > Http請求采樣器:

  • 添加另一個HTTP請求采樣器並將其命名為“deleteusers”。
  • 將方法設置為“DELETE”。
  • 輸入協議為“https”,IP地址為“reqres.in”。
  • 輸入API路徑。
  • 將用戶的詳細信息添加為正文數據。

技術分享圖片

步驟2刪除用戶 - >添加 - >斷言 - >響應斷言

技術分享圖片

第3步 保存並運行“Deleteusers”測試用例。查看已刪除用戶的響應數據。

技術分享圖片

最後,我們可以添加不同的監聽器,如“查看結果樹”來結束。要添加,請右鍵單擊並選擇“偵聽器”→“查看結果樹”。

在這裏,您可以看到每個測試用例的每個樣本請求的請求和響應數據。

作為一個例子,我們為下面的一個負面測試用例編寫了腳本:

註冊失敗

技術分享圖片

第1步:簡單控制器 - >右鍵單擊 - >添加 - >另一個采樣器 - > Http采樣器請求:

  • 添加另一個HTTP請求采樣器並將其命名為“Register unsuccess”。
  • 將方法設置為“POST”。
  • 輸入協議為“https”,IP地址為“reqres.in”。
  • 輸入API路徑。
  • 在POST正文數據中添加用戶的詳細信息。

步驟2:註冊 失敗 - >添加 - >斷言 - >響應斷言

技術分享圖片

步驟3保存並運行“register unsuccess”測試用例。查看註冊失敗用戶的響應數據。

技術分享圖片來自視圖結果的響應代碼技術分享圖片來自視圖結果的響應數據

上述腳本的摘要報告。

技術分享圖片

斷言結果

技術分享圖片

JMeter中提供了各種報告。我們可以根據項目的需要使用它們。

使用JMeter進行API功能測試