postman做接口測試簡單易用很容易上手,但是接口越來越多,每次手動點選runner進行測試不靈活,最近就研究了下newman,利用newman實作接口的自動化測試,但是每次需要指令行操作也不友善,就想着利用Jenkins做真正的自動化測試,剛好部門有現成的Jenkins環境就用了起來,目前已經實作了接口的自動化測試。postman導出的json檔案直接上傳git,Jenkinsjob配置git路徑,每次隻要點選下job就可以進行接口測試或者有新的接口更新也會實作自動化測試,同時可以發送郵件告知同僚測試結果,非常友善。
一、環境配置
1、安裝postman:Google插件下載下傳或者postman應用下載下傳,很簡單,不說了
2、安裝newman:
第一步,安裝nodejs。很簡單,之前的appium使用中有講過,感興趣的可以自己去看,這裡不再贅述。
第二步,在nodejs指令行安裝newman,即指令行輸入如下指令:
npm install -g newman
3、安裝Jenkins:下載下傳war包或者zip包安裝都可以,具體在之前的sonarqube持續化有講過,這裡不再贅述。
環境配置完成就可以進行json檔案的導出了。
二、postman接口檔案導出
為了滿足能夠同時運作所有的API及隻運作指定的API集合,在postman中建立一個collection,裡面包含多個folder,具體好處後面便知。
點選collection右側的。。。按鈕,選擇Export,彈框中選擇Export按鈕,就可以把collection中的内容導出到本地,存為json格式的。
這裡為了切換環境友善及變量使用友善,我配置了環境變量及全局變量,為了能在newman中運作起來,環境變量及全局變量也要導出,具體如下:
點選postman右側的設定按鈕,選擇manage Environments,點選環境變量後面的下載下傳按鈕,即可将環境變量導出,導出的格式為json類型。
同樣,點選manage Environments頁面中的Global,點選Download as JSON按鈕,即可導出全局變量
相關的檔案資料導出後就可以在newman中進行驗證性測試了。
三、Newman的使用
1、本地運作自動化測試指令:
newman -c C:\Users\hexueqin\Desktop\serverApiTest.postman_collection.json----這種寫法已經廢棄,但是用還是可以用的,不過還是用最新的好,否則Jenkins上會報錯。
2、生成測試報告,支援html,xml,json,cli4種。
newman run C:\Users\hexueqin\Desktop\serverApiTest.postman_collection.json --reporters html,junit --reporter-html-export d:\html01.html --reporter-junit-export d:\xml01.xml
3、含有環境變量,全局變量的自動化測試指令:指定執行對應的folder
常見指令:
run --運作newman的指令
-e 加載環境變量的資料
-g 加載全局變量的資料
-n case運作次數,預設運作次數為1次
--folder 運作collection中的指定folder
--reporters html,junit 指定生成報告的類型
其它指令可在github上檢視:
https://github.com/postmanlabs/newman#configuring-reporters
舉例:
newman run C:\Users\hexueqin\Desktop\apiTest.postman_collection.json -e C:\Users\hexueqin\Desktop\dev-environment.postman_environment.json -g C:\Users\hexueqin\Desktop\globals.postman_globals.json --folder visitApi --reporters html --reporter-html-export d:\result.html
本地運作結果顯示:
注意:如果指定生成報告,就不顯示具體的請求執行及結果。
本地生成HTML檔案的檢視:
四、Jenkins中job配置及運作
1、建立job,名字自己取即可
2、配置腳本:(需要在Jenkins伺服器本地安裝newman程式)
3、添加HTML報告:
4、運作job後檢視報告:
自此,postman自動化測試可以順利的跑起來了,郵件暫時沒有添加,具體添加可以參考sonarqube中的配置。