前言
公司爲創業公司,無運維人員,爲減輕運維壓力並且能及時發現線上接口問題,故實現線上api自動化測試功能。
線上api接口自動化測試作用及解決的問題:
- 當服務端改動功能或者添加新功能時,新發布程序後,避免新開發功能導致其他關聯功能存在問題,通過持續集成,服務端發佈觸發接口測試代碼運行,儘早發現問題;
- 抽取部分接口測試用例,定時運行程序,對線上常用的業務操作進行監控,及時發現修復。
本次接口自動化實施最終思路方案:
- 技術選型參考以下方案:
在面向API開發的溝通時使用Swagger作爲API文檔
在Spring的單元測試和集成測試中用Spring MockMVC
在API手工測試時使用Swagger或Postman
在基於API的自動化功能測試時使用Jenkins + Newman + Postman
在對API做手工性能測試時用JMeter
自動化性能測試用Jenkins + Maven + JMeter
- 經過多次試驗,本次選擇jenkins+newman+postman實現api自動化測試。同時生成對結果的統計分析,生成測試報告展示給使用者。
- Postman本身的腳本功能足夠強大,方便擴展。接口間的數據依賴也可以用Tests設置環境變量,斷言可以判定請求是否成功。而且postaman提供了各種主流語言的接口代碼轉換。Postman按Collection管理用例,導出json文件需要規劃好,不然會存在json太多的管理問題。
- newman也支持使用在線文件執行,json文件可以在web端維護。收費版主要是它cloud端的監控、在線文檔、API調用等的額度限制,目前的需求不需要用收費版功能
安裝軟件環境
- 環境說明: postman基於JavaScript語言,postman的腳本(json文件)運行依賴newman環境,而newman環境依賴JavaScript的環境nodejs。
- 安裝nodejs
1.1 下載安裝包:https://nodejs.org/en/
1.2 安裝:直接點擊安裝程序,下一步,等待程序安裝完成;(安裝程序會自動將node環境變量添加到PATH中)
1.3 驗證nodejs是否安裝成功:打開dos命令窗口,輸入node -v
,出現版本號,即安裝成功了
- 安裝newman
2.1dos命令窗口輸入:npm install -g newman
2.2驗證newman是否安裝成功,輸入newman -v
,查看到版本號即安裝成功
- 安裝postman
3.1.下載安裝包:https://www.getpostman.com
3.2 安裝:直接點擊安裝程序,下一步,等待程序安裝完成;
- 集成jenkins
4.1.下載安裝包:https://jenkins.io/index.html
4.2.jenkins安裝:點擊安裝程序,點擊下一步,進行安裝。
4.3.jenkins安裝成功後,本地瀏覽器輸入:localhost:8080
(默認8080端口)
-
jenkins+newman+postman實現api自動化測試實現
5.1 postamn的使用
- 5.1.1啓動postman,添加接口訪問,輸入必要的參數,點擊send,確認服務器返回值是正確的
5.1.2將該接口保存到集合中
5.1.3Tests的使用:Tests可以添加一些斷言來判定請求是否成功。
5.1.4導出postman的json文件
5.1.5 dos窗口運行json文件:先在dos窗口運行.json文件,查看運行結果是夠符合預期
newman run C:\fun\test.json
newman命令能執行.json文件
5.2集成jenkins
- 5.2.1在系統設置—管理插件中添加HTML Publisher plugin插件
5.2.2新建一個自由風格的Item
5.2.3【構建】選項中,選擇“增加構建步驟”,選擇“Execute Windows batch command”
ps:此處注意結尾要添加exit 0.不然會即使構建成功控制檯還是輸出失敗。
ps:newman的指令要帶上newman的全路徑,不然jenkins會報'newman' 不是內部或外部命令,也不是可運行的程序 或批處理文件。
5.2.4控制檯輸出
以上便是在windows上利用postman+newman+jenkins實現API自動測試的搭建。
- 5.1.1啓動postman,添加接口訪問,輸入必要的參數,點擊send,確認服務器返回值是正確的