postman+jenkins+newman做介面測試的持續整合
為何要做介面自動化測試的持續整合?
1. 介面相對穩定,改動少,比起GUI自動化測試來說價效比更加高些,不容易出現GUI自動化那種掉到維護指令碼的坑裡。
2. 介面測試比較簡單,一個規範的介面,測試只需要按照介面擴充套件測試用例就行,覆蓋上較方便,後期維護介面時也比較快捷。
3. 利用持續整合的優勢,可以在開發寫好介面後直接做好介面測試的持續整合,部署到jenkins上,提前發現問題,而不是等到專案後期再發現問題解決問題。
為什麼建議由測試來完成介面測試?
1. 相比開發來說,測試更容易設計測試場景並覆蓋齊全。
為什麼選擇此方案?
介面測試的方案有很多,無論是jmeter+ant+jenkins,還是postman+jenkins+newman,亦或是通過程式碼實現,歸根結底,選擇比較方便的方案就好。
jmeter做介面測試有他自己的優勢,但是資源佔用和配置上相對來說較繁瑣些,而程式碼編寫的話會對測試有一定的程式碼能力的要求,所以這裡也是選擇postman的原因,能讓其他團隊更容易上手。
原理:
通過postman編寫介面測試的用例,最後將介面集匯出,上傳到git,再通過jenkins的配置,從git取匯出的介面集json,trigger介面測試的job執行。
安裝步驟:
首先確保系統安裝來python,gcc,g++,如果沒有則安裝:
$ sudo apt-get install python
$ sudo apt-get install build-essential
$ sudo apt-get install gcc
$ sudo apt-get install g++
從nodeJS官網http://nodejs.org/下載最新原始碼包
$ wget http://nodejs.org/dist/v6.5.0/node-v6.5.0.tar.gz
解壓:
$ tar -zxf node-v6.5.0.tar.gz
$ cd node-v6.5.0
預設安裝:
$ ./configure
$ make
$ sudo make install
安裝結束,可以用下面的命令檢查安裝的版本:
$ node –version
v6.5.0
安裝NPM並測試下
$ sudo apt-get install npm
$ npm install newman --global
$ newman run examples/sample-collection.json
整合jenkins,從git的分支pull介面集合檔案並使用上面的命令執行。