众所周知,安卓单台设备的UI自动化测试已经比较完善了,有数不清的自动化框架或者工具。但是介绍多设备管理的内容并不多,当手里的手机多了之后,要做自动化测试平台,这块的东西又不得不碰,摆脱USB限制,接入WiFi,才能更加自由
框架介绍
1.ATX
ATX(AutomatorX) 是一款开源的自动化测试工具,支持测试iOS平台和Android平台的原生应用、游戏、Web应用。 使用Python来编写测试用例,混合使用图像识别,控件定位技术来完成游戏的自动化。附加专用的IDE来完成脚本的快速编写。 测试面试宝典
atx-agent
运行在手机的内部,为手机增加了远程控制,自动化的功能。atx-server
最重要的功能,是将atx-agent
汇总到一个网页上展示,并提供一个API可以获取所有设备的列表
2.uiautomator
UIAutomator是为数不多的Android官方支持的自动化框架之一,UIAutomator随着Android版本发布而更新。作为基于控件的自动化框架,UIAutoamtor的整体框架及API简单明晰,非常容易上手,发布后便受到了不少开发人员的好评,但仍有部分开发人员觉得不支持resourceId检索控件有点儿可惜。官方在随后的Level 18中弥补了这一缺憾,至此,UIAutomator便在自动化测试领域占据了一席之地,满足了大部分开发人员的需求。
UIAutoamtor较于其他自动化框架有什么特性呢?笔者觉得可以用粗暴但灵活、简单可依赖来形容,其细数的优势有很多,
概括起来有以下几点
官方支持更新: Android原生支持,测试依赖环境少,创建方便。·
层次接口明晰: 框架层次结果分明,API明晰,上手成本很低。
基于控件交互: 支持Android原生控件解析,比坐标交互兼容性更强。
不依赖于源码: 测试过程基于黑盒进行,对所有发行版本都可以测试。
事件等待优秀: 在事件等待方面接口丰富,控制灵活精确,表现优秀。
支持跨进程测试: 在自动化框架中,具备此特性的不多,测试范围在ROM。