怎樣打開自動化?
首先,代碼能力要好,代碼能力要好,代碼能力要好。重要的事情說三遍。好的UI自動化項目依賴于好的設計。好的代碼能力不是說你會使用各種牛逼的技術,框架。而是你能設計好一個項目,該封裝變化的封裝變化,該抽象分層的分層,設計模式該用就用。把腳本層,數據層,基礎框架層,業務層,page層等等剝離清楚。 按業務需求把各模塊分割明白。 這時候要明白,我是寫代碼的。以一個開發的標準要求自己。
挑選最合適的開源框架。別裝逼自己寫,自己寫的肯定沒人家開源的做得好。除非你是大神否則別自己寫。但也別一刀不動,要根據自己的需求對開源框架做二次開發。 推薦一個java系的工具鏈。UI工具用selenide,注意不是selenium。report框架allure,斷言框架assert-core和assert-db。基礎測試框架testng或junit。 UI相關的差不多就這些。別再用老舊過時的工具了,還在用原生webdriver是很痛苦的。連自旋等待機制都沒有。
別迷戀關鍵字驅動,錄制回放和各式測試平臺。這些東西的發展就目前來說雖然逼格滿滿,但還無法做好自動化,它們善于降低學習成本,讓沒有技術能力的人能迅速做到60分,而我們這里說的是要做到90分以上。并且腳本數量一上來就是維護噩夢。公司體量沒到一定程度的時候也別去自研測試平臺,測試平臺也不是保姆式的無腦降低學習成本,主要目的還在于標準化,自動化。
要與業務綁定,讓技術人員只寫腳本不管業務測試是大忌。先不說別的,架構都是根據業務拆分設計的,你看哪個架構師設計的時候不看業務需求直接動手的?退一步講業務不熟練你用例都寫不好。
標準化,我們并不是在一個人在戰斗。最好要有統一的技術棧,運行環境,代碼風格等等。標準化真的是好處多多。
理性看待UI自動化,合理運用UI自動化。它不是神,有很多東西不適合做UI自動化的別硬去做。也別因為有些東西UI自動化做的不好就否定它。
每個項目面對的情況不一樣,我就不說太多了。介紹下我廠現在的情況。 6個瀏覽器并發一個小時基本跑完所有UI自動化。之前3個QA3天跑完所有case,現在是7個小時。現在的痛點仍然是運行速度問題。 希望今年能申請到更多的資源。