Collection Runner 與 Newman
寫好測試腳本後,下一步是把整個 Collection 排隊執行,而不是一支一支手動點 Send。Postman 提供圖形介面的 Collection Runner,以及可以在命令列與 CI/CD 上執行的 Newman。
Collection Runner(圖形介面)
- 開啟一個 Collection,點右上角 Run(或側欄的 Runner 圖示)。
- 選要執行的 Environment、要跑哪些請求、迭代次數(Iterations)。
- 如果請求需要用到外部資料,可以上傳 CSV/JSON 檔,讓 Runner 針對每一列資料各跑一次(Data-Driven Testing)。
- 按 Run,Runner 會依序執行每支請求,並列出每支請求的測試通過/失敗結果。
Collection Runner 適合開發階段手動驗證整組流程,或跑一次性的資料驅動測試。
Newman:命令列版本
Newman 是 Postman 官方的命令列工具,可以在沒有圖形介面的環境(例如 CI 伺服器)執行 Collection:
npm install -g newman
newman run collection.json \
--environment environment.json \
--reporters cli,junit \
--reporter-junit-export report.xml
collection.json/environment.json:從 Postman 匯出的 Collection 與 Environment 檔案。--reporters:可以同時輸出多種報表格式,junit格式常用來讓 CI 系統顯示測試結果。- Newman 的結束代碼(exit code)會反映測試是否全部通過,方便 CI 判斷這次建置該不該繼續。
接進 CI/CD
常見做法是在 GitHub Actions、GitLab CI 等流程裡,加一個步驟安裝 Newman 並執行 Collection:
- name: Run API tests with Newman
run: |
npm install -g newman
newman run collection.json --environment environment.json
這樣每次推送程式碼,CI 就會自動打一次 API、跑一次測試,避免改壞了 API 卻沒人發現。
Postman CLI 與雲端 Monitor
除了 Newman,Postman 也推出了整合帳號登入、可以直接跑雲端 Collection 的 Postman CLI(postman collection run),設定方式與 Newman 類似,差別在於不需要先手動匯出 Collection 檔案。若不想自己維護 CI 排程,也可以用 Postman 內建的 Monitors 功能,設定排程(例如每小時一次)自動在雲端執行 Collection 並發送告警通知。
下一步
測試與自動化學完後,可以進一步看 Mock Server、API 文件與 Postman Flows 這些進階功能:進階功能。