使用Postman進行接口測試詳細教程與實例

2025-01-09 13:48 更新

一、理論部分

1. 寫在開始的話

在前后端分離開發(fā)時,后端工作人員完成系統(tǒng)接口開發(fā)后,需要與前端人員對接,測試調(diào)試接口,驗證接口的正確性可用性。而市場上有很多優(yōu)秀的接口測試工具,比如SoapUI、Postman、JMeter、yapi等,能夠高效地幫助后端開發(fā)人員獨立進行接口測試。這里主要介紹如何使用Postman進行接口測試。

2. 簡單了解一下Postman

Postman是一個接口測試工具,相當于一個客戶端,它可以模擬用戶發(fā)起的各類HTTP請求,將請求數(shù)據(jù)發(fā)送至服務(wù)端,獲取對應(yīng)的響應(yīng)結(jié)果,從而驗證響應(yīng)中的結(jié)果數(shù)據(jù)是否和預(yù)期值相匹配。Postman與瀏覽器的區(qū)別在于,它更直觀地展示接口返回的結(jié)果,特別是JSON格式的數(shù)據(jù)。

二、工具應(yīng)用

1. 新建接口

1.1 創(chuàng)建Collection集合

在開始一個項目時,為了便于組織和管理,可以將同屬該項目的多個API放在一組里。首先需要新建一個Collection:New -> Collection。

1.2 創(chuàng)建請求

在Postman中,你可以通過點擊左上角的“Send”按鈕或使用快捷鍵(默認為Ctrl+Enter)發(fā)送請求。在彈出的窗口中,你可以填寫請求的URL、請求方法(GET、POST等)、請求頭和請求體等信息。

三、接口實例

1. POST請求

POST請求是用來發(fā)送數(shù)據(jù)的。例如,產(chǎn)品經(jīng)理的PRD文檔要求分配加工廠接口里新增加工廠ID字段,整數(shù)類型,非必填。測試人員需要打開Postman,填寫接口信息,結(jié)合測試用例,組合變換參數(shù)信息后,查看返回的JSON數(shù)據(jù)與PRD是否一致。

以注冊用戶為例,測試人員可以在Postman中設(shè)置如下請求:

{
  "name": "小小",
  "password": "123456"
}

發(fā)送請求后,可以通過響應(yīng)結(jié)果驗證接口是否正確處理了注冊信息。

2. GET請求

GET請求是用來獲取數(shù)據(jù)的。例如,XX系統(tǒng)獲取出庫賬單接口,測試人員需要打開Postman,填寫接口信息,結(jié)合測試用例,組合變換參數(shù)信息后,查看返回的JSON數(shù)據(jù)與PRD是否一致。

以獲取出庫賬單為例,測試人員可以在Postman中設(shè)置如下請求:

四、斷言與測試

Postman支持對響應(yīng)結(jié)果進行斷言和測試。斷言可以幫助你檢查響應(yīng)結(jié)果中的特定內(nèi)容或值,如檢查JSON數(shù)據(jù)中的某個字段是否符合預(yù)期。測試則可以對整個響應(yīng)結(jié)果進行驗證,如檢查響應(yīng)狀態(tài)碼是否為200。

在測試過程中,可以使用Postman的斷言功能來驗證響應(yīng)結(jié)果。例如:

  • 斷言狀態(tài)碼為200:

pm.test("Status code is 200", function () {
  pm.response.to.have.status(200);
});

  • 斷言響應(yīng)文本中包含特定字符串:

pm.test("Body matches string", function () {
  pm.expect(pm.response.text()).to.include("access_token");
});
```[^11^]。

五、集合與環(huán)境

在Postman中,你可以將多個請求組織到一個集合中,方便管理和復(fù)用。此外,你還可以為集合設(shè)置不同的環(huán)境變量,以便在不同的環(huán)境下發(fā)送請求時使用不同的參數(shù)值。

在測試不同環(huán)境的API時,可以使用環(huán)境變量來管理不同環(huán)境的配置。例如:

  • 設(shè)置環(huán)境變量:

postman.setEnvironmentVariable("url", "http://192.168.1.21/oa/index.jsp");

  • 在請求中使用環(huán)境變量:

https://{{url}}/api/user/reg/
```[^11^]。

六、參數(shù)化與數(shù)據(jù)驅(qū)動測試

在Postman中,你可以使用參數(shù)化測試來復(fù)用測試用例,并通過數(shù)據(jù)驅(qū)動的方式傳遞不同的參數(shù)值。這樣可以使你的測試用例更加靈活和健壯。

七、Mock服務(wù)器與擋板測試

Postman還支持Mock服務(wù)器和擋板測試功能。你可以使用Mock服務(wù)器模擬接口響應(yīng),以便在沒有后端服務(wù)的情況下進行前端開發(fā)或測試。同時,擋板測試可以幫助你在開發(fā)過程中模擬接口請求和響應(yīng),以便更好地進行集成測試和調(diào)試。

相信你已經(jīng)對Postman工具有了基本的了解和使用方法。在實際工作中,建議根據(jù)項目的需求和場景選擇合適的接口測試方法和工具,以提高接口測試的效率和準確性。下面V 哥跟業(yè)務(wù)場景分講解幾個案例的使用。

八、使用案例

1. 用戶注冊接口測試

場景描述

測試用戶是否可以成功注冊到系統(tǒng)中。

步驟

  1. 創(chuàng)建一個新的Collection,命名為“用戶注冊測試”。

  1. 在Collection中創(chuàng)建一個新的POST請求。

  1. 設(shè)置URL為注冊API的地址,例如:https://api.example.com/register

  1. 在Headers中添加Content-Type: application/json。

  1. 在Body中使用raw格式,填入注冊信息的JSON:

   {
     "username": "newuser",
     "password": "password123",
     "email": "newuser@example.com"
   }

  1. 發(fā)送請求并檢查響應(yīng)狀態(tài)碼是否為201。

  1. 使用斷言檢查返回的JSON中是否包含用戶信息。

2. 用戶登錄接口測試

場景描述

測試用戶是否可以使用正確的憑證登錄系統(tǒng)。

步驟

  1. 創(chuàng)建一個新的GET或POST請求(取決于API設(shè)計)。
  2. 設(shè)置URL為登錄API的地址,例如:https://api.example.com/login。
  3. 如果是GET請求,添加查詢參數(shù)usernamepassword。
  4. 如果是POST請求,在Body中以JSON格式添加用戶名和密碼。
  5. 發(fā)送請求并檢查響應(yīng)狀態(tài)碼是否為200。
  6. 使用斷言檢查返回的JSON中是否包含token信息。

3. 商品列表查詢接口測試

場景描述

測試系統(tǒng)是否能夠返回正確的商品列表。

步驟

  1. 創(chuàng)建一個新的GET請求。
  2. 設(shè)置URL為商品列表API的地址,例如:https://api.example.com/products
  3. 添加可能的查詢參數(shù),如category=booksprice=100
  4. 發(fā)送請求并檢查響應(yīng)狀態(tài)碼是否為200。
  5. 使用斷言檢查返回的JSON數(shù)組長度是否正確。

4. 商品添加到購物車接口測試

場景描述

測試用戶是否可以將商品添加到購物車。

步驟

  1. 確保用戶已經(jīng)登錄并獲取到token。
  2. 創(chuàng)建一個新的POST請求。
  3. 設(shè)置URL為添加到購物車API的地址,例如:https://api.example.com/cart/items。
  4. 在Headers中添加Authorization: Bearer <token>
  5. 在Body中以JSON格式添加商品ID和數(shù)量。
  6. 發(fā)送請求并檢查響應(yīng)狀態(tài)碼是否為200。
  7. 使用斷言檢查返回的JSON中購物車是否包含添加的商品。

5. 文件上傳接口測試

場景描述

測試用戶是否可以上傳文件到系統(tǒng)。

步驟

  1. 創(chuàng)建一個新的POST請求。
  2. 設(shè)置URL為文件上傳API的地址,例如:https://api.example.com/upload。
  3. 在Headers中添加Content-Type: multipart/form-data
  4. 在Body中選擇form-data格式,并添加鍵值對,鍵為file,值為選擇文件按鈕。
  5. 附加其他必要的表單字段,如文件描述。
  6. 發(fā)送請求并檢查響應(yīng)狀態(tài)碼是否為200或201。
  7. 使用斷言檢查返回的JSON中是否包含文件上傳成功的確認信息。

6. 商品下單接口測試

場景描述

測試用戶是否可以成功下單購買商品。

步驟

  1. 確保用戶已經(jīng)登錄并獲取到token。
  2. 創(chuàng)建一個新的POST請求。
  3. 設(shè)置URL為下單API的地址,例如:https://api.example.com/orders
  4. 在Headers中添加Authorization: Bearer <token>。
  5. 在Body中以JSON格式添加訂單信息,包括購物車中的商品ID列表和數(shù)量。
  6. 發(fā)送請求并檢查響應(yīng)狀態(tài)碼是否為200或201。
  7. 使用斷言檢查返回的JSON中是否包含訂單確認信息。

7. 用戶信息更新接口測試

場景描述

測試用戶是否可以更新自己的個人信息。

步驟

  1. 確保用戶已經(jīng)登錄并獲取到token。
  2. 創(chuàng)建一個新的PUT請求。
  3. 設(shè)置URL為用戶信息更新API的地址,例如:https://api.example.com/user/profile。
  4. 在Headers中添加Authorization: Bearer <token>Content-Type: application/json
  5. 在Body中以JSON格式添加新的用戶信息。
  6. 發(fā)送請求并檢查響應(yīng)狀態(tài)碼是否為200。
  7. 使用斷言檢查返回的JSON中是否包含更新后的用戶信息。

8. 訂單狀態(tài)查詢接口測試

場景描述

測試用戶是否可以查詢到自己訂單的當前狀態(tài)。

步驟

  1. 確保用戶已經(jīng)登錄并獲取到token。
  2. 創(chuàng)建一個新的GET請求。
  3. 設(shè)置URL為訂單狀態(tài)查詢API的地址,例如:https://api.example.com/orders/{orderId}
  4. 在Headers中添加Authorization: Bearer <token>。
  5. 替換URL中的{orderId}為實際的訂單ID。
  6. 發(fā)送請求并檢查響應(yīng)狀態(tài)碼是否為200。
  7. 使用斷言檢查返回的JSON中是否包含訂單的正確狀態(tài)信息。

在執(zhí)行這些測試案例時,請確保遵循實際的API規(guī)范,并根據(jù)API的特定要求調(diào)整步驟和參數(shù)。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號