簡介
本文主要介紹如何使用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
測試過程
- 使用Postman編寫微服務(wù)接口的測試用例,并導(dǎo)出json文件。
- Jenkins創(chuàng)建測試項目,使用newman來執(zhí)行測試腳本,生成測試報告。
- 將測試項目與工程構(gòu)建項目關(guān)聯(lián),使之在構(gòu)建發(fā)布到測試環(huán)境后觸發(fā)執(zhí)行。
使用Postman編寫測試用例
根據(jù)swagger服務(wù)契約,使用Postman工具,傳入測試參數(shù)并模擬調(diào)用。
-
調(diào)用后,可以點擊左側(cè)的文件夾圖標(biāo),新建一個Collection。
-
點擊右側(cè)的Save按鈕,將本次測試腳本保存到剛才創(chuàng)建的Collection中。
-
繼續(xù)進(jìn)行其它API的調(diào)用,并保存至Collection中。
點擊Collection上的省略號圖標(biāo),并選擇Export,將測試用例導(dǎo)出保存為.json文件。
上傳到服務(wù)器相應(yīng)目錄下。
配置Jenkins測試項目
接下來配置Jenkins,用于觸發(fā)調(diào)用newman進(jìn)行測試。
- 創(chuàng)建一個自由風(fēng)格的Jenkins項目
- 在構(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
-
可以在主項目的構(gòu)建配置中,增加構(gòu)建后操作,構(gòu)建完成后自動觸發(fā)執(zhí)行這個測試項目
查看測試結(jié)果
- 可以在Jenkins的日志中直接查看結(jié)果
- 也可以用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)容。




