什么是UIAutomatorViewer?
“UIAutomatorViewer”是一个用来扫描和分析Android应用程序UI组件的GUI工具,要使用Appium自动化任何Android应用程序,用户需要识别AUT(被测应用程序)中的对象。使用“UI自动查看器”,可以检查安卓应用程序的UI,找出层次结构,并查看不同的属性(id、文本…)元素的。
在执行自动化脚本时,Appium使用“UIAutomatorViewer”来标识对象的不同属性,并使用这些属性来标识所需的对象。

在本教程中,将了解-
- 如何下载和安装UIAutomator
- 如何使用UiAutomatorViewer在我的应用程序中查找对象
- 如何使用这些属性来标识用于自动化的元素
- 使用UiAutomatorViewer时可能遇到的错误
如何下载和安装UIAutomator
“UiAutomatorViewer”是Android SDK管理器的一部分,安装SDK管理器后即可访问。从此处下载并安装Android SDK管理器
安装Android SDK后,导航到链接
c:\users\<username>\AppData\Local\Android\sdk\tools
会有一个名为的批处理文件
uiautomatorviewer.bat
双击它以启动“UiAutomatorviewer”GUI

如何使用UiAutomatorViewer在我的应用程序中查找对象
- 在设备上启用“开发人员”选项。单击此处了解如何在Android设备上启用开发者选项
- 通过USB线将Android设备连接到PC
- 从应用程序中选择测试应用程序

- 点击‘Device Screenshot’(设备屏幕截图)按钮刷新“UiAutomatorViewer”,并在“UIAutomatorviewer”上加载测试应用程序GUI

- 刷新完成后,将打开测试应用程序的屏幕截图

- 正如在上图中看到的,在窗口的右侧有两个面板。
上部面板包含的节点层次结构与UI组件的排列和包含方式相同,单击每个节点将显示下部面板中UI元素的属性
- 选择上图中的“测验”按钮查看不同的属性(文本、资源ID…)

如何使用这些属性来标识用于自动化的元素
嗯,不能直接使用属性,每个属性都有其他名称。以下属性可用于识别Guru99应用程序中的“测验”按钮。
- 文本属性可用作“名称”

- resource-id属性可用作“id”

- class属性可用作“className”

- content-desc属性可以用作“AccessibilityId”

除了上述属性,我们还可以编写用于对象标识的xpath
使用UiAutomatorViewer时可能遇到的错误
- 看到错误-“No Android devices were detected by adb”,如下面的屏幕截图所示如何解决此问题

解决方案:确保设备已连接到PC