天天看點

Postman+Newman+Jenkins APItest自動化內建測試

   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中的配置。

繼續閱讀