使用 Postman 進行 API 測試

挑戰目標

使用 Postman 建立 request 並搭配 Collections Test 測試五隻 API,HTTP Status 必須為 200。

  • 使用 Postman 建立 Env Url 變數
  • 建立 Collections Test 測試五隻 API,HTTP Status 必須為 200

API 文件

怕洩漏到課程資訊,擷取六角 API 文件中關鍵資料,以文字方式呈現

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# [Get] 取得產品列表
## API Url → https://hex-escape-room.herokuapp.com
## HTTP Method → GET
## API Path → /api/shopping/v1/products?category=xxx
## API Description → 若沒有帶入 Query 預設會回傳全部產品列表,若 category 不存在則也會回傳全部產品。

# [Get] 取得單一產品詳細資訊
## API Url → https://hex-escape-room.herokuapp.com
## HTTP Method → GET
## API Path → /api/shopping/v1/product/:id
## API Description → 取得單一產品詳細資訊,包含描述欄位。
## Request Param → id (產品 ID,必填)

# [Post] 新增產品
## API Url → https://hex-escape-room.herokuapp.com
## HTTP Method → POST
## API Path → /api/shopping/v1/product
## API Description → 新增產品,請務必注意必填欄位與型別。

# [Put] 編輯產品
## API Url → https://hex-escape-room.herokuapp.com
## HTTP Method → PUT
## API Path → /api/shopping/v1/product/:id
## API Description → 編輯產品,請務必注意必填欄位與型別。
## Request Param → ID (產品 ID)

# [Patch] 修改產品狀態
## API Url → https://hex-escape-room.herokuapp.com
## HTTP Method → PATCH
## API Path → /api/shopping/v1/product/:id
## API Description → 修改產品狀態
## Request Param → ID (產品 ID)

操作步驟

Step1. Postman 安裝

文章 : 跟著我一起快速入門 Postman 吧!

Step2. 建立環境變數 Environments

要測試的 5 支 API ,開頭網址皆為 https://hex-escape-room.herokuapp.com 的 API Url,可以先建立一個環境變數。

  1. 點選左側欄 Environments ,進入後點擊 + 新增一個 Environments。
    // 新增 Environments

  2. 建立好環境變數 ( Env ) 後,進行命名 「商品資料 Env」。
    // 環境變數命名

  3. 將環境變數 ( Env ) 改成剛編輯的名字 「商品資料 Env」。
    // 把 Env 改為新命名的名字

  4. 進行環境變數 ( Env ) 相關設定

    • VARIABLE 命名為 API_URL
    • INITIAL VALUE 填入要測試的 5支 API 相同開頭的網址https://hex-escape-room.herokuapp.com
      // 進行環境變數 (Env) 相關設定
  5. 最後記得按下 Save。

Step3. 建立收藏 Collections

  1. 進左側欄 Collections → 點擊 + create new collections。
  2. 把 Collections 命名為 「商品資訊 API Test」。
  3. 於 「商品資訊 API Test」新增請求 ( add request )。
    // Collections新增請求
  4. 於 「商品資訊 API Test」新增請求 ( add request ) 後,依據 公司給了五支 API : GETPOSTPUTPATCH 進行新增。
    1. GET 取得商品列表 ( 上方 API 文件 )

      1. 把 request 名稱改為 「取得商品列表」。
      2. 已設好環境變數,所以 Get 的網址調整為 {{環境變數中的 VARIABLE}}取得商品列表的API Path,按下 Sent 按鈕,如果 API 沒問題下方就會顯示 200 ok。
        // 使用 Potman 進行 API 測試
      3. 記得按下 Save 可收藏請求。
    2. GET 取得單一產品詳細資訊 ( 上方 API 文件 )

      1. add request → 把 request 名稱改為 「取得單一產品詳細資訊」
      2. 文件中的 Api Path 後方有 :id,把文件中 id 複製貼於 「取得單一產品詳細資訊」請求的 Path Variables 中。
        // 把 API 文件中的 id 填入
        // 把 API 文件中的 id 填入
      3. 按下 Send 按鈕測試 HTTP Status 是否為 200,沒問題的話記得按下 Save。
    3. POST 新增商品 ( 上方 API 文件 )

      1. add request → 把 request 名稱改為 「新增商品」→ methods 選 POST → 網址如步驟 2。

      2. 文件中表示 「新增產品,請務必注意必填欄位與型別。」,把文件中 Example JSON 程式碼貼於 body → raw → Text 選取 JSON。

        1
        2
        3
        4
        5
        6
        7
        8
        // 文件中 Example JSON
        {
        "id": "gNd4cp2u5NxXTTaT",
        "name": "KoboGame",
        "category": "game",
        "price": "1000",
        "description": "超好玩遊戲"
        }

        // 把文件中 Example JSON 程式碼貼於 body → raw → Text 選取 JSON

      3. 出現 HTTP Status 400,老師有埋陷阱 XD,按照指使後,把屬性 price 的屬性值型別改為數字即可。
        // 陷阱,把 price 屬性改為數字

        1
        2
        3
        4
        5
        6
        7
        8
        // 調整後
        {
        "id": "gNd4cp2u5NxXTTaT",
        "name": "KoboGame",
        "category": "game",
        "price": 1000,
        "description": "超好玩遊戲"
        }
    4. PUT 編輯商品 ( 上方 API 文件 )

      1. API Path 出現 :id,依文件中 Example JSON 得知商品資訊,到 「取得商品列表」request 找此商品的 id,貼於 Params → Path Variables 的 id 中。
        // 文件中Example JSON程式碼貼入Body→raw

        // 依文件中Example JSON得知商品資訊,到「取得商品列表」request找此商品的id

    5. Patch 修改商品狀態 ( 上方 API 文件 )

      1. 依照步驟 3.d 。Params 的 id 可以到 「取的商品列表」request 隨便找一個商品 id 填入。
        // 於 collections 新增請求(add request)

Step4. 自動 API 測試

可參考文章中的 自動 API 測試 (Auto Collection Test)

  1. 進左側欄 Collections → 點擊步驟 #2 新增的 「商品資訊 API Test」 收藏。
    // 收藏 Collections

  2. 進入後點擊下方的 「Test」,選取 「Status code: Code is 200」會生成一段程式碼 → 按 Save 儲存。

  3. 按下 Run
    // 按下 Run

  4. 點擊 「Run 商品資訊 API Test」→ 就可以直接把所有要測試的 API 一次測試完囉 !
    // 點擊Run 商品資訊 API Test 按鈕

    // 所有API一次測試完成

模擬測試單支 API

這邊依上方 API 文件中的 “ [Get] 取得單一產品詳細資訊 “ 為例 ,測試此 API 使否可使用。

  1. 新增請求

    1. 快捷鍵

      • Mac : Command + N
      • Windows : Ctrl + N
    2. 面板上的 New+
      // 新增請求方式

      // 新增請求方式HTTPRequest

  2. 選取請求方式 GET
    // 單支API測試_01

  3. 複製 API 文件中的 API Url 與 API Path,貼入後方欄位

    1. API Path 中 :id 部份已事先查詢,可參考上方操作步驟 Step3. 4( Y4agVBkW3c2Y5q9U )。
      // 單支API測試_02
      // [Get] 取得單一產品詳細資訊 文件 ▲

      // 單支API測試_03
      // 複製 API 文件中的 API Url 與 API Path 貼入欄位內 ▲

  4. 按下 Send 按鈕測試 HTTP Status 為 200,下方出現此筆 id 相關資訊,成功 !
    // 單支API測試_04

參考資訊