前一段時間幫助團隊搭建了UI自動化環境,這裏將Jenkins環境的一些配置分享給你們。html
團隊下半年的目標之一是實現自動化測試,這裏要吐槽一下,以前開發的測試平臺了,最初的目的是用來作接口自動化測試和性能測試,但因爲各類緣由,接口自動化測試那部分功能整個廢棄掉了,其中和易用性有很大關係,另外,也和咱們公司的接口業務也有關。不過性能測試功能開發同窗用的很歡快,還有接口的管理,目前是鏈接前端與後端的重要橋樑。目前又加入了環境管理(我公司主要用docker建立開發和測試環境),最近又加入了需求管理與bug管理,因此,從「測試平臺」變成了「研發協做平臺」。爲何不用市面上主流的缺陷管理系統?例如,禪道,JIRA。由於咱們公司有本身特定的開發流程。單就環境的管理(docker)市面上的平臺就不能知足。前端
說回到自動化測試,固然是優先考慮的接口自動化,我以前也有分享過主流接口工具/框架的對比,但實際與業務線的測試同窗溝經過後,發現支付的接口是異步的,走的網關也不肯定,結果是很難作。在加上測試的業務是環環相扣的,用戶從選擇活動、加入購物車、到支付中間涉及十幾接口,都高度依賴上一個接口的返回值。若是解除依賴(用mockServer)去測試單個的接口意義不大,也不能覆蓋到現有業務場景。docker
因而,咱們放棄了接口自動化測試,先從UI下手,這就比較好作了,模擬用戶的操做流程就行了。因此,並非接口自動化必定比UI自動化好作,這個得看項目。後端
selenium:不解釋。瀏覽器
pytest:單元測試框架,由於它能夠全局的配置瀏覽器驅動的開啓與關閉,並且有不少好用的擴展插件,更適合來作UI自動化。框架
pytest-html:生成HTML測試報告,能夠配置用例失敗自動截圖,這一點對UI自動化很重要。異步
pytest-rerunfailures:能夠實現用例的失敗重跑,這一點對UI自動化也很重要。Selenium-page-objects:我封裝的page objects庫,之前也有介紹,讓你編寫page層更加簡單。工具
Git/Bitbucket:咱們的測試代碼提交到Bitbucket上管理。性能
接下來纔是重點,Jenkins主要用來運行UI自動化測試。接下來介紹一下個人配置。單元測試
配置Git,鏈接Bitbucket,檢查項目代碼更新。
定時任務,設置爲天天晚上22:00運行。
構建命令,拉取代碼,並運行全部用例。
設置HTML測試報告的路徑
設置XML測試報告的路徑。
配置發郵件功能。
大體效果以下:
能夠點擊HTML Report查看HTML報告,最新結果能夠看到項目XML格式的報告。測試趨勢圖,這個是基於XML報告插件生成的。
在Jenkins中查看測試HTML測試報告。
固然,還有構建完成所收到的郵件。
但願以上的介紹,能給你提供一些思路。