临近十一点,个人时间,趁着困意还没袭来,聊聊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下的安装,以及那些年踩过的坑。