Postman+Newman+Jenkins實現(xiàn)REST自動回歸測試

簡介

本文主要介紹如何使用Postman+Newman+Jenkins,實現(xiàn)微服務(wù)自動化的回歸測試。

所需工具

  • Postman:用于編寫測試用例,導(dǎo)出.json格式的測試腳本
  • Newman:命令行方式執(zhí)行postman導(dǎo)出的測試腳本
  • Jenkins:實現(xiàn)測試的自動化

Postman的下載

官網(wǎng):
https://www.getpostman.com/

Newman的安裝

Newman可以運(yùn)行Postman生成的.json測試用例,生成.html格式的測試報告。

可以直接使用npm進(jìn)行安裝:

npm install newman --global;

更多文檔,可以參考GitHub:
https://github.com/postmanlabs/newman

測試過程

  1. 使用Postman編寫微服務(wù)接口的測試用例,并導(dǎo)出json文件。
  2. Jenkins創(chuàng)建測試項目,使用newman來執(zhí)行測試腳本,生成測試報告。
  3. 將測試項目與工程構(gòu)建項目關(guān)聯(lián),使之在構(gòu)建發(fā)布到測試環(huán)境后觸發(fā)執(zhí)行。

使用Postman編寫測試用例

  1. 根據(jù)swagger服務(wù)契約,使用Postman工具,傳入測試參數(shù)并模擬調(diào)用。

  2. 調(diào)用后,可以點擊左側(cè)的文件夾圖標(biāo),新建一個Collection。

  3. 點擊右側(cè)的Save按鈕,將本次測試腳本保存到剛才創(chuàng)建的Collection中。

  4. 繼續(xù)進(jìn)行其它API的調(diào)用,并保存至Collection中。

  5. 點擊Collection上的省略號圖標(biāo),并選擇Export,將測試用例導(dǎo)出保存為.json文件。

  6. 上傳到服務(wù)器相應(yīng)目錄下。

配置Jenkins測試項目

接下來配置Jenkins,用于觸發(fā)調(diào)用newman進(jìn)行測試。

  1. 創(chuàng)建一個自由風(fēng)格的Jenkins項目
  2. 在構(gòu)建一欄,輸入以下腳本,用于觸發(fā)newman測試
newman run /home/deployer/functest/foobar/foobar.json --reporters cli,html,json,junit --reporter-html-export /home/deployer/functest_report/foobar/foobar_report.html
  1. 可以在主項目的構(gòu)建配置中,增加構(gòu)建后操作,構(gòu)建完成后自動觸發(fā)執(zhí)行這個測試項目


查看測試結(jié)果

  1. 可以在Jenkins的日志中直接查看結(jié)果
  2. 也可以用Web容器將生成的.html測試報告暴露出來,直接通過瀏覽器訪問

自動化回歸測試的必要性

Postman、Selenium這樣的動化的回歸測試真的有必要嗎,它能夠幫助我們發(fā)現(xiàn)多少問題,為了實現(xiàn)它我們要多付出多大的代價?
說到底,這是一個有關(guān)"性價比"的問題。

首先從組織結(jié)構(gòu)上來看,如果項目的規(guī)模大到了有專門的測試團(tuán)隊,那么無疑會大大降低測試團(tuán)隊的工作量。
但如果是開發(fā)人員兼職做測試,那么多花點心思在controller層的集成測試上,可以會用更少的時間,達(dá)到差不多的效果。

有時間會再寫一下關(guān)于實踐中單元測試、集成測試的一些取舍,以及手工回歸測試與swagger參數(shù)示例等方面的內(nèi)容。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 02 你的收獲 你如果耐心的看完這篇文章,你會獲得些許收獲 對postman的使用有一個基(全)本(面)認(rèn)知 可以...
    亭子青年閱讀 30,053評論 0 18
  • 序 寫的api多了以后或者接手別人的項目之后,對api的運(yùn)維也會比較多,特別是在測試環(huán)境,種種因素會導(dǎo)致接口出現(xiàn)不...
    go4it閱讀 2,964評論 1 4
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,506評論 19 139
  • Postman是一款強(qiáng)大的API接口測試工具,有許多不容易發(fā)現(xiàn)的好用的功能,下面簡單介紹其中一部分功能。詳細(xì)內(nèi)容可...
    selfboot閱讀 8,631評論 6 25
  • pre-requisite: Android 開發(fā)相關(guān)知識以及環(huán)境 Raspberry Pi 3 Model B ...
    asylum001閱讀 1,176評論 1 2

友情鏈接更多精彩內(nèi)容