搜索
您的当前位置:首页正文

APP元素获取工具—UIAutomator

2021-08-25 来源:吉趣旅游网


APP元素获取工具—UIAutomator

UI Automator是一个UI测试框架,适用于跨系统和已安装应用程序的跨应用程序功能性UI测试,需要Android4.3以上(APIlevel 18)以上版本。启动UI AutomatorUI 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、打开后的效果如下,我们就可以通过他来获取页面元素的位置,进行元素定位了。

因篇幅问题不能全部显示,请点此查看更多更全内容

Top