Postman+Newman+Jenkins接口自動化框架


 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上查看:
舉例:
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中的配置。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM