Robotium
Robotium是一款类似Selenium但面向Android端的开源自动化测试框架,既支持测试Native应用,也支持测试Hybrid应用(混合 模式应用,指介于WebApp与NativeApp两者之间的App,兼具Native App良好的用户交互体验的优势以及Web App跨平台、易变更 的优势);既支持黑盒形式的自动化测试,也支持白盒形式的自动化测试。通过Robotium用户可以编写出更强大健壮的UI自动化 测试用例,并可以应用在功能测试、系统测试、用户验收测试等多种测试场景中。
Robotium的优势:
1.支持Native应用和Hybrid应用
2.基于Instrumentation的测试,测试代码运行于被测应用所在的进程,控件识别与模拟UI事件都可以快速执行,因此测
试用例执行速度更快。
3.是通过在运行时识别控件而非通过固定坐标方式,因此测试用例可以更健壮。
4.支持黑盒方式,不需要深入了解被测应用即可开展测试,因此编写用例花费的时间可以更少。
Robotium的劣势:
1.基于Instrumentation的事件发送,因此无法跨应用。
2.代码运行在被测进程,可能影响被测进程的内存、CPU占用,若用于性能监控数据会有误差。
Robotium提供的类:
By:Web元素的选择器。
Condition:接口类,用于等待。
RobotiumUtils:工具类。
Solo:对外提供各种API。
Solo.Config:Solo配置类。
SystemUtils:系统级工具类。
TimeOut:Solo配置类。
WebElement:Web元素的抽象类。
其中Solo类是主要对外提供各种API的类,Solo类采用中介者模式,持有com .robotium .solo包下的其他类的实例对象,当我们 调用Solo类中的API时,大多数是转而调用com .robotium .solo包下其他类的方法。com .robotium .solo包下主要有以下类:
Getter:提供控件获取相关API。
ActivityUtils:提供Activity相关API。
Asserter:提供断言相关的API。
Clicker:提供模拟点击相关的API。
ScreenshotTaker:提供截图相关的API。
Scroller:提供滚动相关的API。
Searcher:提供控件搜索相关的API。
ViewFetcher:提供控件过滤相关的API。
Waiter:提供控件等待相关的API。
WebUtils:提供Web支持相关的API。
内容阅读于 ->腾讯Android自动化测试实战