Appium的一点一滴:如果通过uiautomatorviewer获取app的element

1、如果通过uiautomatorviewer获取app的element

(Windows)uiautomatorviewer是andriod自带的处在andriodsdk安装目录下的tools里面(uiautomatorviewer.bat)

1.1 uiautomatorviewer:分析Android应用UI组件

uiautomatorviewer:分析Android应用UI组件

uiautomator测试框架是Android SDK自带的App UI自动化测试Java库,使用uiautomator测试框架编写自动化用例前,需要使用uiautomatorviewer 识别分析android应用UI组件,文件位于sdk\tools目录下uiautomatorviewer.bat。

使用uiautomatorviewer的方法:

  • 1.连接Android 设备到开发机器,打开被测app

  • 2.运行/tools/目录下的uiautomatorviewer.bat

  • 3.点击uiautomatorviewer用户界面上的“设备截图按钮”

将鼠标悬停在左侧窗口的快照,查看被工具检测到UI控件,窗口右下方显示组件属性和右上方显示层次结构,可选择性的点击NAF按键查看测试框架不能生效的ui组件。

有多个设备连接开发机器时(模拟器或真机),通过设置ANDROID_SERIAL环境变量指定需要截图的设备。
adb devices命令查看连接中的设备编号,设置环境变量set ANDROID_SERIAL=:

  • a. 运行如下命令获取连接到电脑的设备序列号

    $ adb devices

  • b. 设置ANDROID_SERIAL为需要测试的设备序列号

    Windows:set ANDROID_SERIAL=
    Unix: eport ANDROID_SERIAL=

如果电脑只连接一个设备则无需设置ANDROID_SERIAL 环境变量。

注意:

  • 1、点击右侧上方的黄三角按钮(Toggle NAF Nodes)来查看不能被uiautomator测试工具访问到的控件。这些控件只设置了有限的属性,所以导致uiautomator无法获取到这些控件。所以你可能很难测试这些控件。这种情况下你可以要求开发者为这些控件添加必要的属性,比如 如果是ImageView或者ImageButton应该添加android:contentDescription属性。
  • 2、由于uiautomator 工具依赖Android设备的可访问行来获取UI控件,所以这不是非常重要的。要支持uiautomator 工具需要一下条件:
    使用android:contentDescription属性给 ImageButton, ImageView, CheckBox和其他控件设置标签。使用android:hint 属性来标记EditText 控件,而不是使用里面的文本(文本内容用户是可以修改的)。
    对于用来提供操作视觉反馈的UI(文本或者图标),都添加一个android:hint 属性来识别。确保所有用户可操作的界面元素都可以通过方向控制键选中(例如轨迹球)。
    通过uiautomatorviewer 工具来确保所有的UI元素都可以被测试工具访问到。还可以通过“辅助功能”(在设置界面)中的“TalkBack”等服务来测试UI的可访问性。
CrissChan CSDN认证博客专家 华为云MVP 京东测试架构师 阿里云MVP
京东测试架构师具有十多年的软件测试开发以及技术管理经验。现主要负责质量保障、测试服务化、测试智能化以及DevOps落地,同时引入AITesting和AIOps,完善工具链的智能化和自动化程度,加速端到端交付的进程。主导了京东工程生产力平台精灵平台设计和开发以及工程生产力赋能平台奥利凡德的设计和研发,引入AI技术设计和研发了AI测试框架AAT,实现了部分测试工作机器替代人的目标。华为云MVP,阿里云MVP,北方工业大学软件体系结构实验室特约企业专家,测试敏捷化白皮书特邀编委,多次TID、NCTS、MUSP、TICA等技术峰会特邀讲师,撰写专利20余篇,测试相关论文30左右篇。
已标记关键词 清除标记
相关推荐
©️2020 CSDN 皮肤主题: Age of Ai 设计师:meimeiellie 返回首页
实付 19.90元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值