一.周边工具支持更便捷

相对于Appium,Macaca提供了更为全面的周边工具支持,这其中包括:

  • Reliable持续集成平台:可以帮助我们进行用例的管理以及任务的调度,对于UI自动化,只有当他成为一种规范化的程式定期的触发与执行,这样才能发挥他的作用,因此,一个持续集成系统对于自动化的长期发展是必不可少的,而Appium并没有提供这套系统,这意味着我们需要从无到有的搭建自己的一套持续集成环境,这个投入无疑也是巨大的。
  • app-inspector 元素查找工具,极大的方便了控件的查找以及定位。

3.UI-Recorder脚本录制工具可以快速的通过录制得到脚本,方便新手入门。

-Reliable

=inspector

  • 轻量

Macaca对于安卓的支持是基于安卓sdk的UIAutomator框架,而这个框架是从API 17开始支持的,Appium从最早的安卓开始,对于API 17以上的版本,Appium与Macaca一样是基于UIAutomator的,对于API 17以下的版本,Appium则基于老的instrument,对于这部分的支持,还引入了Selendroid。但是从应用的角度讲,Android7已经发行,4.2系统以下的设备占比不大,我们不希望为了支持这部分少量的机型而增加自己在自动化上的工作量。简单来讲,大而全的并不一定是最好的,关键是找到适合自己的。

-UI Recorder

  • 社群内容丰富

Macaca是由阿里集团开源的框架,官方网站提供了中文版以及英文版双语文档,虽然对于开发者而言,阅读英文文档的能力是必须的,但是中文文档的提供无疑能帮助很多基础相对薄弱的同学快速入门。此外,Macaca团队还提供了用于技术交流的微信群以及钉钉群,当遇到问题的时候可以方便的联系到主创团队的相关同学,这无疑也能给大家带来很大的方便。

-社群支持

四.多端支持

如何在有限的时间内,追求尽可能高的产品质量?业务测试只要开启我们的服务,就可以在业务测试的过程中,自动生成对Android、iOS和Web页面的自动化脚本,而自动化脚本在批量设备上的回放,可以极大提高关键路径的覆盖率,提升兼容性测试的效率,从而可以把业务测试从冗长重复的步骤中解放出来,把精力放到边界,异常等可以给我们产品带来更多提升的地方。

-react组件测试

=Debug

五.API统一

研究过Appium的官方API,以java-client为例,针对iOS和安卓,控件以及Driver等类别都根据平台不同而不一样,对于控件,有AndroidElement,IOSElement,对于Driver,有AndroidDriver,IOSDriver,如果我们的用例要支持多平台,就需要处理多种平台不一致性,但Macaca从底层上就没有区分iOS与安卓,可以通过一个统一的API支持,这就方便了很多。