2021年11月24日 星期三

使用 Newman 執行 Postman Collections

在Postman 的環境下,可以將相關類型的請求(Requst)放在一個 Collection 下,而 Collection 有支

援 Run 的指令,可以方便一次性的執行而不用手動逐項執行;甚至當Colleciton 底下還有資料夾

做分類,也可以針對該資料夾執行 Run 的動作,同樣會自動執行裡面的 Requests,達到更有效

率確認API 正常運作。



而Postman 俱有方便且快速的協助開發者建立WebAPI 請求設計,已成為後端開發者最得力的助

手,但當設計穩定後,是否能透過「指令」的方式快速確認WebAPI 是否正常服務,而無須透過

介面操作;是時候借用「Newman 」之力


Newman 是一個透過指令執行 Postman Collection 的工具,可透過 NPM 下載安裝(檢視),並且

存在於 GitHub,接著來看一下如何操作。


首先透過 NPM 安裝Newman


$ npm install -g newman


這邊我安裝時的版本是 8.1.4 


 

此時,來到Postman 找一個 Collection 匯出,而匯出後是個 json 檔案


另外,因為執行 Request 需要相關環境變數,若你有使用到Globals 與 Environments 的設定

也需要一併的匯出


匯出 Globals ,需要先點選該項目後,右方會有個 Export,匯出的檔案格式同樣是 json 格式


匯出 Environments,需要先點選欲匯出的環境項目,右方會有個「...」,點下去後就會看到 Export ,

匯出的檔案格式同樣是 json 格式


將三個匯出檔案,放在同一個資料夾


準備使用 newman 執行


首先先切換目錄至剛剛匯出json 檔案的目錄

cd /d path


接著使用以下語法跑 Collections

newman run yourpostman_collection.json --folder folderName -g workspace.postman_globals.json -e env.postman_environment.json


其中逐項說明

  • run 指令後面接的是 collection 的檔名

  • --folder folderName :代表指定該 Collection 下的資料夾

  • -g workspace.postman_globals.json:代表要執行全域變數 globals.json 

  • -e env.postman_environment.json:代表要執行環境變數 evn.json



當成功跑起來後,會逐項執行該 Collection 下的 Request

若該項目成功,就會如下圖



整體跑完後會會下方會有一個 Report ,可檢視這次花了多久時間跑完,

通過或失敗的Request 數目,整體收到多少資料量,以及平均回應的時間



參考

 

沒有留言:

張貼留言