UI Automator
UI Automator 是一个界面测试框架,适用于整个系统上以及多个已安装应用间的跨应用功能界面测试。
注意:此框架需要 Android 4.3(API 级别 18)或更高版本。
UI Automator 测试框架提供了一组 API,用于构建在用户应用和系统应用上执行交互的界面测试。通过 UI Automator API,您可以执行在测试设备中打开“设置”菜单或应用启动器等操作。UI Automator 测试框架非常适合编写黑盒式自动化测试,此类测试的测试代码不依赖于目标应用的内部实现细节。
UI Automator 测试框架的主要功能包括:
用于检查布局层次结构的查看器。如需了解详情,请参阅 UI Automator 查看器。
用于检索状态信息并在目标设备上执行操作的 API。如需了解详情,请参阅访问设备状态。
支持跨应用界面测试的 API。如需了解详情,请参阅 UI Automator API。
UI Automator 查看器
uiautomatorviewer 工具提供了一个方便的 GUI,用于扫描和分析当前显示在 Android 设备上的界面组件。您可以使用此工具来检查布局层次结构并查看设备前台可见的界面组件的属性。利用此信息,您可以使用 UI Automator 创建更精细的测试。例如,通过创建与特定可见属性匹配的界面选择器来做到这一点。
uiautomatorviewer 工具位于 <android-sdk>/tools/bin 目录中。
访问设备状态
UI Automator 测试框架提供了一个 UiDevice 类,用于在运行目标应用的设备上访问和执行操作。您可以调用其方法来访问设备属性,如当前屏幕方向或显示屏尺寸。UiDevice 类还可让您执行如下操作:
改变设备的旋转。
按硬件键,如“音量调高按钮”。
按返回、主屏幕或菜单按钮。
打开通知栏。
截取当前窗口的屏幕截图。
例如,要模拟按主屏幕按钮的操作,请调用 UiDevice.pressHome() 方法。
UI Automator API
通过 UI Automator API,您可以编写可靠的测试,而无需了解目标应用的实现细节。您可以使用这些 API 在多个应用间捕获和操纵界面组件:
UiCollection:枚举容器的界面元素,目的是为了计数,或者按可见文本或内容说明属性来定位子元素。
UiObject:表示设备上可见的界面元素。
UiScrollable:支持搜索可滚动界面容器中的项目。
UiSelector:表示对设备上的一个或多个目标界面元素的查询。
Configurator:可让您设置用于运行 UI Automator 测试的关键参数。