Appium自动化是需要如何定位元素,那么我们有什么样的工具可以定位元素呢?Android 定位元素的三个工具,Weditor、Appium、Ui automator View
一.UI A utomator Viewer工具
在搭建appium环境的时候我们已经安装了SDK,里面就自带有元素定位的工具,位置在…/tools/uiautomatorviewer.bat,由于安装路径各有不同,如果实在找不到可以具体路径,可以在电脑中查找uiautomatorviewer.bat文件,找到后双击打开即可,初始界面如下
uiautomatorviewer整个界面分四个区域:
(1)工作栏区(上)
共有4个按钮。从左至右分别用于:Open、Device Screenshoot uiautomator dump、Device Screenshoot with Compressed Hierarchy uiautomator dump –compressed、Save
- Open:打开已保存的布局,获取详细布局,获取简洁布局,保存布局
- 第二按钮(Device Screenshoot uiautomator dump): 把全部布局呈现出来,即获取元素完整的层级关系
- 第三按钮(Device Screenshoot with Compressed Hierarchy uiautomator dump –compressed):只呈现有用的控件布局。比如某一 Frame存在,但只有装饰功能,那么点击第三按钮时,可能不被呈现
- Save:存储两个文件,一个是图片文件,一个是.uix文件(XML布局结构)
(2)截图区(左),显示当前屏幕显示的布局图片
(3)布局区(右上),已XML树的形式,显示控件布局
(4)控件属性区(右下),当点击某一控件时,将显示控件属性
我们在启用Appium服务后会与uiautomatorviewer冲突,所以获取元素时必须关闭Appium服务。
二.Appium Desktop工具
Appium Desktop是一款用于Mac、Windows和Linux的开源应用,它提供了Appium自动化服务器在一个漂亮灵活的UI中的强大功能。
顶部工具栏区功能说明:
- 选取元素:选择截图区域元素,获取元素信息
- 滑动屏幕:在截图区域点击两次,通过两次的坐标,在模拟器中滑动屏幕
- 点击:在截图区域点击,模拟器中也触发相应的点击
- 返回上一级:相当于 Back
- 刷新视图:当模拟器中页面与视图不一致时,用来更新视图
三.Weditor工具
安装Wedtior
pip install --pre --upgrade weditor
再在命令行输入
python3 -m weditor
默认会通过浏览器打开页面:http://localhost:17310
在页面左上角选择Android,输入设备IP(手机IP),点击Connect按钮。
当我们操作完手机后,可以点击“Reload”按钮进行刷新,从而保持与设备上的界面保持同步。weditor 还可以帮我们生成代码。总之,你研究一下就会用了。