臨近十一點涤姊,個人時間直焙,趁著困意還沒襲來,聊聊UI自動化吧砂轻。
其實奔誓,準(zhǔn)確的說,還沒有正式接手UI自動化搔涝,只是在TESTER HOME上了解了一些UI自動化的相關(guān)素材厨喂,選定了一個框架,開始研究庄呈。說是研究蜕煌,還真談不上,算是瞎搗鼓吧诬留。之前做了一個PPT斜纪,跟大家也一塊分享一下,當(dāng)然文兑,很大一部分都參考了網(wǎng)上素材盒刚,所以有同學(xué)看到雷同的,那就純屬巧合了绿贞。哈哈因块。開個玩笑,算是借鑒吧籍铁。
這里涡上,可能大家都非常熟悉的是appium, seleium, 一個用于APP的UI測試,一個用于WEB的UI測試工具拒名。關(guān)于工具的具體介紹我不贅述吩愧,免得班門弄斧,因為專業(yè)級的大師實在是太多了增显。我在這里雁佳,重點和大家說一下中間那只monkey吧。
此monkey非彼monkey,它叫MACACA, 阿里去年4月推出的開源UI自動化測試框架甘穿,支付寶就是通過它來進行UI測試的腮恩,當(dāng)然不排除很多同學(xué)已經(jīng)有深入的了解∩液迹現(xiàn)在還相當(dāng)小眾温兼,但是已經(jīng)在不少公大公司落地啟用。我們雖然是小公司武契,但是也想學(xué)大公司募判,也想借鑒來落地實施。
為什么選擇MACACA咒唆,而不是現(xiàn)在已經(jīng)非常成熟的appium届垫,或者calaba.sh呢?看完下面這張圖全释,也許你就會懂了装处。
我們想要的是什么樣的自動化框架?
1.可跨平臺的浸船。(目前我們只維護一款A(yù)PP妄迁,分安卓版和IOS版本,如果有一款產(chǎn)品李命,在寫腳本時只調(diào)用一套API登淘,那腳本維護成本就降低了很多。)
2.可集成的封字。(在版本更新迭代如此速度的今天黔州,可集成對于提交工作效率,整合資源起著多么決定性的作用阔籽,這個不用多講流妻。)
3.學(xué)習(xí)成本低的。(公司測試人員沒有腳本經(jīng)驗的笆制,比如我合冀,學(xué)習(xí)一種比較容易上手的語言,更節(jié)約成本项贺。)
于是我把現(xiàn)在幾種符合條件的框架作了對比
通過以上對比君躺,可以看出相比而言,appium的優(yōu)勢還是非常明顯的开缎,支持跨平臺棕叫,多種腳本語言,開源奕删,經(jīng)過這么長時間的應(yīng)用俺泣,已經(jīng)相對比較成熟穩(wěn)定。只是存在著一點劣勢是,如果同一款A(yù)PP既有IOS也有安卓的話伏钠,那么需要調(diào)用兩套不同的API横漏,維護兩套腳本,在時間成本上是個不小的沖擊熟掂。
再看calabash 缎浇,同樣是跨平臺,只支持一種腳本語言赴肚,且跟appium一樣素跺,需要維護兩套腳本,在學(xué)習(xí)成本和時間成本上都處于劣勢誉券。
再談macaca指厌,雖然是剛剛才開源不久,存在很多漏洞踊跟,但是好處在于踩验,跨平臺,支持三種腳本商玫,最最重要的是統(tǒng)一的API支持箕憾。也許是單憑這一點,讓領(lǐng)導(dǎo)看中了它决帖,選擇了它厕九。當(dāng)然,還有地回,目前macaca的技術(shù)團隊是一直維護著macaca扁远,很多問題可以直接在GIT上提issue,團隊響應(yīng)速度也很快刻像。
當(dāng)然畅买,這只是一篇探路性的博文,選擇了一個自動化框架準(zhǔn)備去慢慢落地细睡,且看后續(xù)慢慢實踐吧谷羞。
下次博文,macaca在win10下的安裝溜徙,以及那些年踩過的坑湃缎。