UI自動化測試之Jenkins配置


前一段時間幫助團隊搭建了UI自動化環境,這里將Jenkins環境的一些配置分享給大家。

背景:

團隊下半年的目標之一是實現自動化測試,這里要吐槽一下,之前開發的測試平台了,最初的目的是用來做接口自動化測試和性能測試,但由於各種原因,接口自動化測試那部分功能整個廢棄掉了,其中和易用性有很大關系,另外,也和我們公司的接口業務也有關。不過性能測試功能開發同學用的很歡快,還有接口的管理,目前是連接前端與后端的重要橋梁。目前又加入了環境管理(我公司主要用docker創建開發和測試環境),最近又加入了需求管理與bug管理,所以,從“測試平台”變成了“研發協作平台”。為什么不用市面上主流的缺陷管理系統?例如,禪道,JIRA。因為我們公司有自己特定的開發流程。單就環境的管理(docker)市面上的平台就不能滿足。

說回到自動化測試,當然是優先考慮的接口自動化,我之前也有分享過主流接口工具/框架的對比,但實際與業務線的測試同學溝通過后,發現支付的接口是異步的,走的網關也不確定,結果是很難做。在加上測試的業務是環環相扣的,用戶從選擇活動、加入購物車、到支付中間涉及十幾接口,都高度依賴上一個接口的返回值。如果解除依賴(用mockServer)去測試單個的接口意義不大,也不能覆蓋到現有業務場景。

於是,我們放棄了接口自動化測試,先從UI下手,這就比較好做了,模擬用戶的操作流程就好了。所以,並不是接口自動化一定比UI自動化好做,這個得看項目。

UI自動化所用到的技術:

  • selenium:不解釋。

  • pytest:單元測試框架,因為它可以全局的配置瀏覽器驅動的開啟與關閉,而且有很多好用的擴展插件,更適合來做UI自動化。

  • pytest-html:生成HTML測試報告,可以配置用例失敗自動截圖,這一點對UI自動化很重要。

  • pytest-rerunfailures:可以實現用例的失敗重跑,這一點對UI自動化也很重要。Selenium-page-objects:我封裝的page objects庫,以前也有介紹,讓你編寫page層更加簡單。

  • Git/Bitbucket:我們的測試代碼提交到Bitbucket上管理。

Jenkin做什么?

接下來才是重點,Jenkins主要用來運行UI自動化測試。接下來介紹一下我的配置。

配置Git,連接Bitbucket,檢查項目代碼更新。

定時任務,設置為每天晚上22:00運行。

構建命令,拉取代碼,並運行所有用例。

設置HTML測試報告的路徑

設置XML測試報告的路徑。

配置發郵件功能。

大致效果如下:

可以點擊HTML Report查看HTML報告,最新結果可以看到項目XML格式的報告。測試趨勢圖,這個是基於XML報告插件生成的。

在Jenkins中查看測試HTML測試報告。

當然,還有構建完成所收到的郵件。

希望以上的介紹,能給你提供一些思路。


免責聲明!

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



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