UI自动化测试-UiAutomator

UiAutomator简介

  1. Android 4.1发布的时候包含了一种新的测试工具– UiAutomator;
  2. Android SDK在4.1中提供了如下工具来支持UI自动化测试:
    1.UiAutomatorViewer –扫描和分析应用的UI控件的图形界面工具
    2.UiAutomator – 测试Java库,包含了创建UI测试的各种API和执行自动化测试的引擎

UiAutomator使用条件

  1. Android SDK Tools, Revision 21 or higher
  2. Android SDK Platform, API 16 or higher

UiAutomator 工作流程

  1. 将需要测试应用安装到手机或者虚拟机中,分析应用的UI界面元素 并确保被测试应用的各个控件可以被测试工具获取到。
  2. 创建知道测试案例来模拟应用中的用户操作步骤。
  3. 编译测试案例代码为Jar包并复制该Jar包到安装了待测应用的测试手机中。
  4. 运行测试并查看结果
  5. 修改任何发现的bug,然后修复并重新测试。

UiAutomatorViewer 工具

UiAutomatorViewer 工具来获取应用的界面截图。UiAutomatorViewer工具提供了一个便利的方式来查看UI布局结构,并且可以查看各个控件的相关属性。利用这些信息可以用来创建UI测试代码。

分析UI方法

  • 把Android手机连接到电脑上直接用虚拟机
  • 打开命令行窗口并导航到目录 /tools/ dos进入命令符
  • windows下运行 uiautomatorviewer.bat 命令 程序截图
  • 点击UiAutomatorViewer工具文件夹按钮旁边的“Device Screenshot”按钮来获取当前屏幕界面信息。意:如果当前电脑连接了多个设备,通过设置ANDROID_SERIAL环境变量来指定要分析的设备。步骤如下: a.运行如下命令获取连接到电脑的设备序列号 $ adb devices b.设置ANDROID_SERIAL为需要测试的设备序列号 Windows:set ANDROID_SERIAL= Unix: export ANDROID_SERIAL= 如果电脑只连接一个设备则无需设置ANDROID_SERIAL 环境变量。
  • 查看待测应用的UI界面元素属性 把鼠标放到uiautomatorviewer工具左边的截图中的控件上来查看该控件的属性。属性显示在右侧界面下方,上方显示当前界面的布局结构。 点击右侧上方的黄三角按钮(Toggle NAF Nodes)来查看不能被uiautomator测试工具访问到的控件。这些控件只设置了有限的属性,所以导致uiautomator无法获取到这些控件。所以你可能很难测试这些控件。这种情况下你可以要求开发者为这些控件添加必要的属性,比如 如果是ImageView或者ImageButton应该添加android:contentDescription属性。

开始工作

1.将被测应用装到手机、虚拟机中
2.辨别待测应用UI控件

在开始编写uiautomator测试代码之前,需要先辨别待测应用的UI控件元素。一般而言,优秀的待测应用的UI元素应该是可见的并且用户可以操作的。这些UI元素也应该具有可见的文本标签、android:contentDescription值或者二则兼具。
通过uiautomatorviewer 工具可以查看应用的可见控件。具体使用情况见上面所述。

3.确保待测应用是可访问性

由于uiautomator 工具依赖Android设备的可访问行来获取UI控件,所以这不是非常重要的。要支持uiautomator 工具需要一下条件:
- 使用android:contentDescription属性给 ImageButton, ImageView, CheckBox和其他控件设置标签。
- 使用android:hint 属性来标记EditText 控件,而不是使用里面的文本(文本内容用户是可以修改的)。
- 对于用来提供操作视觉反馈的UI(文本或者图标),都添加一个android:hint 属性来识别。
- 确保所有用户可操作的界面元素都可以通过方向控制键选中(例如轨迹球)。
- 通过uiautomatorviewer 工具来确保所有的UI元素都可以被测试工具访问到。还可以通过“辅助功能”(在设置界面)中的“TalkBack”等服务来测试UI的可访问性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值