APP元素获取工具—UIAutomator
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
APP元素获取工具—UIAutomator
UI Automator是一个UI测试框架,适用于跨系统和已安装应用程序的跨应用程序功能性UI测试,需要Android4.3以上(APIlevel 18)以上版本。
启动UI Automator UI Automator Viewer是一个用来扫描和分析Android应用程序的UI组件的GUI工具,是android SDK自带的一个元素定位工具。
通过截屏并分析XML布局文件的方式,为用户提供控件信息查看服务,使用UI Automatorviewer,你可以检查一个应用的UI来查看应用的布局和组件以及相关的属性。
在启动之前,我们需要将手机通过USB连接到PC,并且打开开发者选项的USB调试。
并且将要获取元素定位的程序打开到相应的页面
然后,在Android SDK的安装路径下,找到tools文件夹,然后双击uiautomatorviewer.bat,进行启动。
或者在cmd命令行切换到Android SDK tools路径下,输入命令uiautomatorviewer.bat打开。
UI Automatorviewer界面界面主要分为4部分1)上方区域4个按钮从左至右功能分别是:打开已经保存的布局,获取详细布局,获取简洁布局,保存布局。
点击保存,将存储两个文件,一个是图片文件,一个是.uix文件(XML布局结构)第二个按钮(Device Screenshoot uiautomator dump)和第三个按钮(Device Screenshoot with Compressed Hierarchy uiautomator dump–compressed),第二个按钮把全部布局呈现出来,第三个按钮只呈现有用的控件布局。
2)截图区(左下),显示当前手机屏幕显示的布局图片3)布局区(右上),用XML树的形式,显示界面的控件布局4)控件属性区(右下),当爱布局区点击某一控件时,将在这里显示控件的属性
执行中遇到的问题当我们【获取详细布局】按钮时,提示Unexpectederror while obtaining UI hierarchy(获取UI层次结构时发生意外错误)。
如果你的测试机系统是android8.0,可能是因为你的SDK管理器里为安装android8.0相关的API插件。
如下图,我们只需打开管理器
安装即可。
但是如果还是报这个错的话(在网上找了找答案说Android8以后SDK的版本不兼容),可以进行手动截图和获取页面元素信息。
命令:
•
•
•
•
adb shell uiautomator dump 路径/文件名.uixadb pull 路径/文件名.uix PC存放路径adb shell screencap - p 路径/文件名.pngadb pull 路径/文件名.png PC存放路径
下面我们解读下这几个命令:
adb shell uiautomator dump 路径/文件名.uix:将uix结构文件的获取,保存到手机本地adb pull 路径/文件名.uix PC存放路径:将手机本地保存的结构文件,拉取到电脑上。
拓展命令:
•
•
•
•
adb pull <手机路径> <本机路径> #从手机中拉取信息到本地电脑上adb push <本机路径> <手机路径>#从本地电脑推送信息到手机上
操作步骤:1、win+R打开cmd命令行,执行命令:adbshell uiautomator dump /sdcard/登录页.uix,将页面的结构文件获取到手机的存储卡内。
执行成功后,会返回提示:“UI hierchary dumped to: /sdcard/login.uix”(建议文件名不要使用中文,有可能无法保存)
2、然后执行命令:adb pull /sdcard/login.uix,这里可以设置PC上的存储路径,如果不设置,默认是拉取到当前所在的路径下。
3、执行命令adb shell screencap -p /sdcard/登录页.png,adb pull /sdcard/登录页.png进行图片的截取和拉取。
如下图:
4、点击UI Automatorviewer中左上角的打开已保存的布局按钮,选择刚刚我们保存的文件。
5、打开后的效果如下,我们就可以通过他来获取页面元素的位置,
进行元素定位了。