4-Appium之uiautomatorviewer识别元素

对于Web UI自动化测试来说,我们使用浏览器开发者工具来查看页面元素信息,非常的方便,无论是Chrome还是Firefox的开发者工具都非常好用。
———————————————————————————————————————
本节课我们来看看Android UI自动化测试如何来查看元素。首先我们来看uiautomatorviewer工具。

1、uiautomatorviewer工具页面展示

在安装Appium环境的时候,我们安装了Android SDK,里面就自带有元素定位的工具,位置在“C:\XXX\Android\Sdk\tools\bin”。由于安装路径不同,请将XXX替换为你的Sdk安装目录。如果实在找不到,可以在电脑中查找“uiautomatorviewer.bat”文件。找到后,双击打开即可。初始界面如下:
4-Appium之uiautomatorviewer识别元素
接下来,我们打开mumu模拟器(你也可以连接真机)。这里需要提醒的是,该工具只能获取手机当前的界面截图,无法实时同步的显示手机界面(即,手机界面刷新后,必须手动再次获取手机界面的元素)。

2、uiautomatorviewer用法介绍

2.1 打开文件(Open)

可以打开之前保存的文件。

2.2 设备截图(Device ScreenShot)

确定手机或模拟器已经连接后,手动点击打开“设置”。然后,点击左上角第二个按钮,可以看到如下界面:
4-Appium之uiautomatorviewer识别元素
然后,用鼠标点击想要获取的元素,即可查看元素的信息,如下图所示:
4-Appium之uiautomatorviewer识别元素
这里,我们用鼠标点击了“更多”这个元素,在图片的右下角能够看到该元素的信息,比如index=0;text=更多;还可以看到resource-id和class、package等信息。

再多看一眼,右上角的信息是一个树状结构,显示了从最上层到查看元素的层级信息。

2.3 设备截图与压缩(Device ScreenShot With Compressed)

同样,我们还保持手机界面在设置的主页面。点击左上角第三个图标,如下图所示:
4-Appium之uiautomatorviewer识别元素

然后,再点击“更多”元素,可以得到如下界面:
4-Appium之uiautomatorviewer识别元素
对比一下和2.2的区别:
两者的功能相似,但是2.2会在右上角区域展示元素的层级信息;而2.3不会展示层级信息。

2.4 保存(Save)

当获取了页面的信息后,我们可以通过Save按钮(左上角第4个按钮)将信息保存到本地。保存的结果是一个.png图片文件,一个.uix文件。

然后,我们就可以使用2.1中的open导入上面保存的两个文件。
4-Appium之uiautomatorviewer识别元素
目的是为了不再重复获取页面和元素(某些页面或元素比较难获取成功)