一.周边工具支持更便捷
相对于 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 支持,这就方便了很多。