持續(xù)集成 (CI) 是一種開發(fā)實(shí)踐,它鼓勵(lì)開發(fā)人員定期將代碼更改提交到共享存儲(chǔ)庫,通常一天提交幾次。盡早并經(jīng)常幫助團(tuán)隊(duì)避免技術(shù)債務(wù)并發(fā)現(xiàn)問題。
使用 CI,每次代碼提交都會(huì)觸發(fā)一個(gè)構(gòu)建代碼和運(yùn)行測(cè)試的自動(dòng)化過程。如果所有檢查都通過,該過程甚至可以部署更新的代碼,這種做法稱為持續(xù)交付 (CD)。
開發(fā) API?Postman 提供內(nèi)置工具,可將您的 API 與一些最廣泛使用的持續(xù)集成 (CI) 工具(包括 Travis CI)集成。為 API 設(shè)置 CI 后,您可以在 Postman 中查看構(gòu)建狀態(tài)或啟動(dòng)新構(gòu)建。您還可以使用 Newman 將 API 測(cè)試作為 CI 管道的一部分運(yùn)行。要了解更多信息,請(qǐng)參閱CI 集成。
使用 Travis CI 運(yùn)行 Postman 測(cè)試
通常,將Postman 測(cè)試與 Travis CI 集成與在 Jenkins、AppVeyor 或任何其他構(gòu)建系統(tǒng)上運(yùn)行的過程相同。您將設(shè)置 CI 配置以在開始構(gòu)建時(shí)運(yùn)行 shell 命令。該命令是一個(gè)Newman 腳本,它運(yùn)行包含測(cè)試的集合并返回記錄在您的 CI 系統(tǒng)中的通過或失敗退出代碼。
此示例向您展示如何將 Postman 與Travis CI集成,Travis CI 是開發(fā)團(tuán)隊(duì)用來自動(dòng)構(gòu)建和測(cè)試代碼更改的持續(xù)集成平臺(tái)。完成后,Travis CI 將在您每次提交到 GitHub 存儲(chǔ)庫時(shí)運(yùn)行您的測(cè)試。

入門
- 在您的測(cè)試中選擇 Postman Collection。在大多數(shù)情況下,您的測(cè)試已經(jīng)有了一個(gè) Postman 集合。對(duì)于此示例,您可以通過選擇“在 Postman 中運(yùn)行”按鈕將示例“Hello World”集合導(dǎo)入您的工作區(qū)。

- 設(shè)置 GitHub 存儲(chǔ)庫。Travis CI 對(duì)于 GitHub 上的開源項(xiàng)目是免費(fèi)的。對(duì)于此示例,您將使用 Postman 測(cè)試將集合存儲(chǔ)在公共 GitHub 存儲(chǔ)庫中。在 GitHub 上創(chuàng)建一個(gè)新的公共存儲(chǔ)庫并將項(xiàng)目克隆到本地系統(tǒng)。
- 設(shè)置 Travis CI。按照Travis CI 入門指南進(jìn)行完整的演練。您需要登錄 Travis CI并為新的公共 GitHub 存儲(chǔ)庫激活 Travis CI 集成。
將 Postman 連接到 Travis CI
- 將“Hello World”集合導(dǎo)出為 JSON 文件并將導(dǎo)出的文件重命名為hello_world.postman_collection.json.
- 創(chuàng)建一個(gè)tests以本地項(xiàng)目的根目錄命名的文件夾,并將導(dǎo)出的 JSON 文件移動(dòng)到新tests文件夾中。.
└── tests
└── hello_world.postman_collection.json如果您的集合使用環(huán)境,您還需要將環(huán)境導(dǎo)出為 JSON 文件并將其移動(dòng)到tests文件夾中。
- .travis.yml在項(xiàng)目存儲(chǔ)庫的根目錄下創(chuàng)建一個(gè)名為的新文件。您將使用此文件告訴 Travis CI 您的項(xiàng)目的編程語言以及如何構(gòu)建它。.
├── .travis.yml
└── tests
└── hello_world.postman_collection.json構(gòu)建過程的任何步驟都可以定制。文件中的腳本.travis.yml將在您下次提交并將更改推送到您的存儲(chǔ)庫時(shí)執(zhí)行。
- 在該.travis.yml文件中,在 CI 環(huán)境中向 Newman 添加一個(gè)命令install,然后添加一個(gè)script告訴 Newman 運(yùn)行 Postman 測(cè)試(您將其放在tests文件夾中)。因?yàn)?Travis CI 不知道 Newman 的位置,所以你需要更新PATH. 在此示例中,該newman工具位于.bin文件夾中的node_modules文件夾中。對(duì)于此示例,您的.travis.yml文件將如下所示:language: node_js
node_js:
- "16.13.2"
install:
- npm install newman
before_script:
- node --version
- npm --version
- node_modules/.bin/newman --version
script:
- node_modules/.bin/newman run tests/hello_world.postman_collection.json請(qǐng)注意,如果您導(dǎo)出了環(huán)境,則還需要將其添加到腳本中:script:
- node_modules/.bin/newman run tests/hello_world.postman_collection.json -e tests/tests.postman_environment.json
- 將所有更改提交到您的本地項(xiàng)目,并將它們推送到您的公共 GitHub 存儲(chǔ)庫。每次您將提交推送到您的存儲(chǔ)庫時(shí),Travis CI 都會(huì)自動(dòng)觸發(fā)構(gòu)建并運(yùn)行您的測(cè)試。打開Travis CI 儀表板以獲取有關(guān)構(gòu)建狀態(tài)的詳細(xì)信息。如果一切順利,您的構(gòu)建將成功通過。

修復(fù)測(cè)試失敗
當(dāng)測(cè)試失敗時(shí),情況會(huì)怎樣?要找出答案,請(qǐng)?jiān)?Postman 中更改導(dǎo)入的“Hello Word”集合,以便其中一個(gè)測(cè)試中斷。
要查看失敗的測(cè)試,請(qǐng)執(zhí)行以下操作:
- 打開集合,選擇“Hello World”請(qǐng)求,然后選擇“測(cè)試”選項(xiàng)卡。
- 更改最終測(cè)試,使其查找文本“Hello, Everyone!” 而不是“你好,世界!”

- 保存更改,然后再次導(dǎo)出集合。和以前一樣,重命名導(dǎo)出的文件hello_world.postman_collection.json并將其移動(dòng)到tests本地項(xiàng)目的目錄中。
- 提交更改并將其推送到您的公共 GitHub 存儲(chǔ)庫。這將觸發(fā) Travis CI 中的新構(gòu)建,而這次構(gòu)建將失敗。

- 選擇失敗的構(gòu)建鏈接以查看 Travis CI 中的構(gòu)建日志。日志會(huì)告訴您斷言失敗。如果這是您自己的集合,您可以使用錯(cuò)誤消息來幫助理解測(cè)試失敗的原因并調(diào)試問題。

- 對(duì)于這個(gè)例子,如果你愿意,你可以在 Postman 中更正測(cè)試中的錯(cuò)誤并再次導(dǎo)出集合。和以前一樣,重命名 JSON 文件,將其添加到tests本地項(xiàng)目的文件夾中,然后提交并推送。這次您在 Travis CI 中的構(gòu)建將會(huì)成功。
更多建議: