Postman+Newman+Git+Jenkins實現接口自動化測試持續集成


 

原文鏈接:Postman+Newman+Git+Jenkins實現接口自動化測試持續集成 

 

接口測試腳本一般的執行流程 

   做接口測試的話,首先要考慮的是如何選擇一個合適的工具?在忽略工具是否好用,是否能滿足業務要求的前提下,需要考慮一下2點:

1、要考慮工具的學習成本

2、要考慮團隊的協作

 接口測試腳本的執行流程:

團隊成員協作編寫接口用例->用例歸檔到git/svn->腳本集成jenkins,在環境更新后自動觸發執行或定時執行。

 

 

 

Postman工具常見的接口測試流程是怎樣的? 

 


使用Postman+Newman+Git+Jenkins+釘釘 /郵件提醒                                                                                                          

 

 

Windows系統Newman安裝
 

 


 1、下載Node.js進行安裝,然后配置node的環境變量 
2、借助npm工具,安裝Newmannpm install -g newman
3、運行Newman通過Newman來運行某個postman腳本:
newman run  mycollection.json用newman執行postman腳本的效果如下:

 

 

 

Centos系統Newman安裝 

 


 1、先下載安裝nodejs ( 必須安裝10.0以上的版本 )從http://nodejs.cn/download/下載linux系統壓縮包 ,,解壓,配置環境變量    
tar xvJf ***.tar.xzecho "export PATH=\"\$PATH:/root/tools/node-v14.8.0-linux-x64/bin\"" \ >> ~/.bash_profile &&source ~/.bash_profile
                                                                                              
2、安裝Newmannpm install -g newman以上通過命令安裝如果問題的話 ,可以百度解決。

 

 

 

命令行執行Postman腳本生成測試報告 

 


 1、命令行執行腳本的最基本的命令newman run xxx.json 

2、生成html格式的報告先安裝插件:npm install -g newman-reporter-htmlnewman run demo.postman_collection.json -r html  

3、優化報告顯示格式,生成美觀一點的html格式報告
先安裝插件:npm install -g newman-reporter-htmlextranewman run demo.postman_collection.json -r htmlextra


注意事項: 
1、-r參數是--reporters的縮寫,可以在參數后面指定需要生成的報告格式 ,比如 -r html,junit,json,htmlextra  ,這個會在當前目錄下生成一個newman的文件夾,報告都在newman的文件夾下面:

2、也可以加上下面的參數指定報告名稱:(報告默認生成在當前執行命令的路徑下 ,也可以自己在報告名稱前加上指定路徑生成)

--reporter-html-export htmlReport.html 

--reporter-htmlextra-export htmlExtraReport.html 

--reporter-junit-export junitReport.html 

--reporter-json-export jsonReport.html 

3、在使用npm命令安裝newman以及其他的包時,建議都加上-g 參數 ,給所有用戶都安裝對應的包,避免在使用命令時報錯。 
使用npm安裝如果比較慢,可以先執行下面的命令,切換下載源的地址: 

npm config set registry https://registry.npm.taobao.org

4、通過newman-reporter-htmlextra插件生成的html報告,默認是不包含css樣式文件的,如果是發給別人訪問 ,在斷網的情況下查看報告,樣式是加載不了的。目前查了一下,好像沒有類似allure里面的那種參數,可以把報告所需的樣式和報告一起導出,不過這個插件支持自定義報告模板,可以自己手動將css樣式文件導出到某個位置,然后修改報告模板匯總引用的文件去解決這個問題。

 

 

 

 

Postman腳本持續集成

通過上面的描述 ,現在已經可以將postman腳本生成報告了,離集成jenkins只差最后的配置工作了:

1、在gitee上新建一個倉庫,將postman調試好的腳本導出成json文件,上傳到gitee上 (上傳到gitee倉庫的話,可以方便團隊不同成員之間可以更改和查看用例),后續有腳本變更的時候也可以直接更新到git上進行存儲,git上也可以按版本按分支存放你的測試腳本

2、搭建好jenkins環境,並配置好npm的環境以及安裝好newman執行環境

3、新建一個自由風格的job,配置從git上獲取腳本:

 

勾選構建環境下的清除工作空間目錄的配置,將之前的報告清除(如果執行命令生成報告時自己指定了報告名稱的話 ,也可以不清除工作空間的文件)

 

添加執行batch命令 / shell命令,命令內容如下:

# batch命令cd /d %WORKSPACE%newman run demo.postman_collection.json -r htmlextra --reporter-htmlextra-export ./report/htmlExtraReport.html 或者# shell 命令cd $WORKSPACEnewman run demo.postman_collection.json -r htmlextra --reporter-htmlextra-export ./report/htmlExtraReport.html newman run demo.postman_collection.json -r htmlextra --reporter-htmlextra-export ./report/htmlExtraReport.html

然后再構建后操作那里 ,添加報告的展示:

需安裝HTML Publisher plugin插件

 

構建后 ,即可在jenkins上看到HTML報告:

 

 

 

發送釘釘通知 

 

由於現在很多企業辦公通訊都是用釘釘 , 那么接口自動化的腳本執行完之后,是可以講結果發送到 指定的釘釘群里面的 。准備工作:釘釘帳號,在釘釘上創建指定機器人 ,jenkins上安裝DingTalk插件。
釘釘PC端機器人創建操作:
釘釘左上角用戶頭像處->機器人管理->創建自定義機器人

設置機器人名稱、指定消息通知的群、安全設置下可以設置自定義關鍵字,然后點擊完成,然后頁面會生成一個webhook的地址 




安裝Jenkins上的DingTalk插件,進入系統配置頁面,找到釘釘的配置: 


然后進入postman腳本執行的job配置頁面,勾選需要通知的機器人名稱即可。 


構建開始和結束后就會收到釘釘通知: 

 

 

解決jenkins上無法展示HTML樣式的問題 

 


 由於安全考慮,jenkins默認是禁止了外部的css和js的加載的,因此html報告顯示會出現異常,常見的解決方案有以下幾種:
1、在jenkins系統管理->腳本命令行 輸入以下腳本運行:( 此方案重啟jenkins失效 )
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
2、利用jenkins的插件,在啟動節點的時候自動觸發某個job去執行groovy腳本。搜索安裝Startup Trigger和Groovy插件即可。 
配置一個job,然后在job中執行groovy腳本: 
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

3、以windows服務或者java -jar的方式啟動的jenkins,可以修改jenkin.xml文件中的啟動命令,加入參數 
-Dhudson.model.DirectoryBrowserSupport.CSP=

4、用tomcat部署的jenkins,可以直接改catalina.bat文件,找到tomcat/bin下的catalina.bat文件,用Notepad++打開,加上一行代碼

set JAVA_OPTS="-Dhudson.model.DirectoryBrowserSupport.CSP"

 

 

擴展學習

1、newman的其他用法(比如執行命令的時候加載環境變配置、設置執行次數等):https://www.npmjs.com/package/newman 
2、newman-reporter-htmlextra插件的其他用法(比如報告過濾數據,設置標題等):https://www.npmjs.com/package/newman-reporter-htmlextra 

3、釘釘通知在jenkins上的配置,還可以指定具體通知的人等高級用法,可以自己查資料擴展一下.覺得釘釘插件提醒不好用的話,也可以自己寫腳本調用釘釘的接口發送消息提醒。 

 


免責聲明!

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



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