臨近十一點,個人時間,趁著困意還沒襲來,聊聊UI自動化吧。
其實,準確的說,還沒有正式接手UI自動化,只是在TESTER HOME上了解了一些UI自動化的相關素材,選定了一個框架,開始研究。說是研究,還真談不上,算是瞎搗鼓吧。之前做了一個PPT,跟大家也一塊分享一下,當然,很大一部分都參考了網上素材,所以有同學看到雷同的,那就純屬巧合了。哈哈。開個玩笑,算是借鑒吧。
這里,可能大家都非常熟悉的是appium, seleium, 一個用于APP的UI測試,一個用于WEB的UI測試工具。關于工具的具體介紹我不贅述,免得班門弄斧,因為專業級的大師實在是太多了。我在這里,重點和大家說一下中間那只monkey吧。
此monkey非彼monkey,它叫MACACA, 阿里去年4月推出的開源UI自動化測試框架,支付寶就是通過它來進行UI測試的,當然不排除很多同學已經有深入的了解。現在還相當小眾,但是已經在不少公大公司落地啟用。我們雖然是小公司,但是也想學大公司,也想借鑒來落地實施。
為什么選擇MACACA,而不是現在已經非常成熟的appium,或者calaba.sh呢?看完下面這張圖,也許你就會懂了。
我們想要的是什么樣的自動化框架?
1.可跨平臺的。(目前我們只維護一款APP,分安卓版和IOS版本,如果有一款產品,在寫腳本時只調用一套API,那腳本維護成本就降低了很多。)
2.可集成的。(在版本更新迭代如此速度的今天,可集成對于提交工作效率,整合資源起著多么決定性的作用,這個不用多講。)
3.學習成本低的。(公司測試人員沒有腳本經驗的,比如我,學習一種比較容易上手的語言,更節約成本。)
于是我把現在幾種符合條件的框架作了對比
通過以上對比,可以看出相比而言,appium的優勢還是非常明顯的,支持跨平臺,多種腳本語言,開源,經過這么長時間的應用,已經相對比較成熟穩定。只是存在著一點劣勢是,如果同一款APP既有IOS也有安卓的話,那么需要調用兩套不同的API,維護兩套腳本,在時間成本上是個不小的沖擊。
再看calabash ,同樣是跨平臺,只支持一種腳本語言,且跟appium一樣,需要維護兩套腳本,在學習成本和時間成本上都處于劣勢。
再談macaca,雖然是剛剛才開源不久,存在很多漏洞,但是好處在于,跨平臺,支持三種腳本,最最重要的是統一的API支持。也許是單憑這一點,讓領導看中了它,選擇了它。當然,還有,目前macaca的技術團隊是一直維護著macaca,很多問題可以直接在GIT上提issue,團隊響應速度也很快。
當然,這只是一篇探路性的博文,選擇了一個自動化框架準備去慢慢落地,且看后續慢慢實踐吧。
下次博文,macaca在win10下的安裝,以及那些年踩過的坑。