UI Automator Viewer是一款元素定位工具,可以帮助用户扫描安卓应用UI组件的GUI工具,软件可以通过扫描来进行应用的二次开发,支持Java,Python自动化代码。
软件介绍UI Automator Viewer可以进行优化定位符生成,帮助用户进行安卓应用的二次开发。软件自带了扫描定位功能,能够通过用户上传的截屏,对应用的XML布局文件进行分析,软件还为用户提供了空间信息查看服务,可以检查应用的UI来查看应用的布局和组件还有各种相关属性。这款软件的截图速度非常快,还提供了Java,Python自动化代码的生成,大大提高了工作效率。
软件特色1、优化定位符Xpath生成,提取相对短的Xpath,解决自带工具Xpath太长不友好的问题
2、修复自带uiautomatorviewer截图报错,无法截图的Bug
3、优化截图速度优化获取Xml速度,至少减少原截图耗时的一半
4、支持生成Java,Python自动化代码,实现类似录制脚本功能,生成后只需Ctrl+C,Ctrl+V到自己的代码中即可运行
5、兼容IOS,安卓,支持真机以及模拟器,你无需要换工具安卓平台和Mac平台都可以使用此工具
6、优化删除IOS的Xml中的垃圾空节点,定位元素更清爽
使用说明1、在SDK的安装目录下双击uiautomatorviewer.bat就可以启动
2、也可以使用cmd命令进行启动,cd到tools目录下,然后输入uiautomatorviewer.bat回车后启动服务。启动界面如下:
注:1、在Android Studio中可以通过Android Device Monitor 调用UI Automator Viewer。
2、点击uiautomatorviewer后会出现一个console黑窗口,使用时不要关掉。
三、uiautomatorviewer界面
界面一共有四个区域:
1)上方区域
4个按钮从左至右功能分别是:打开已经保存的布局,获取详细布局,获取简洁布局,保存布局。点击保存,将存储两个文件,一个是图片文件,一个是.uix文件(XML布局结构)
第二个按钮(Device Screenshoot uiautomator dump)和第三个按钮(Device Screenshoot with Compressed Hierarchy uiautomator dump –compressed),第二个按钮把全部布局呈现出来,第三个按钮只呈现有用的控件布局。
2)截图区(左下),显示当前手机屏幕显示的布局图片
3)布局区(右上),用XML树的形式,显示界面的控件布局
4)控件属性区(右下),当爱布局区点击某一控件时,将在这里显示控件的属性
在第一次点击Device Screenshoot按钮时,将会报错,显示如下:
解决方案:修改uiautomatorviewer.bat中最后一行代码,将“%prog_dir%”替换为platform-tools的实际目录即可。
原因:在uiautomatorviewer.bat中,需要知道SDK下子目录platform-tools的路径,即bat文件中的“%prog_dir%。
四、连接手机
cmd打开输入adb devices,确认手记已连接
获取不到手机APP界面内容怎么办本来想使用UIAutomatorView定位app页面元素的,最开始我使用的是夜神模拟器,打开UIAutomatorView连接模拟器没有问题,但是后来我使用真机时发现无法连接到真机获取真机的截图,具体报错信息如下
1. 在任意盘的根目录(不是根目录也没问题)新键app.png 与app.uix 两个文件(我这里放在的E盘下面)
2. 打开CMD按照顺序执行下面的命令
adb shell uiautomator dump /sdcard/app.uix # 把当前窗口的UI布局信息输出到/sdcard/app.uix文件
adb pull /sdcard/app.uix E:/app.uix # 把手机里面的app.uix文件写到本地E盘的app.uix文件
adb shell screencap -p /sdcard/app.png # 截取当前的屏幕图片,并保存到/sdcard/app.png
adb pull /sdcard/app.png E:/app.png # 把上面的截图文件从手机中传递到电脑的E:/app.png中
3. 导入UIAutomatorViewer
启动UiautomatorViewer, 按照下图导入两个app文件
由于这种方法,每次切换手机的页面时都需要要重新执行上述命令,所以可以把命令写到一个bat脚本里面
@echo on
adb shell uiautomator dump /sdcard/app.uix
adb pull /sdcard/app.uix E:/app.uix
adb shell screencap -p /sdcard/app.png
adb pull /sdcard/app.png E:/app.png
导入后再次连接真机,成功
闪退怎么办在做APP自动化代码编写时,会用到uiautomatorviewer来检查元素,更换电脑后,发现这东西突然打不开了,双击就不知道报错啥看不见就闪退了,发现并没有找到问题最终解决方案。自己检查摸索了下。
1、将安装的路径从adt-bundle-windows-x86_64-20140702 更改成adt
2、双击打开,可以启动,并看到了界面(真是泪奔,终于可以看到这个界面)
3、建议大家路径不要包含空格、下划线、数字或特殊字符
4、打开uiautomatorviewer.bat后,点击截图,提示adb连接失败:
5、修改uiautomatorviewer.bat中的bindir地址,修改后的地址是bindir=E:\adt\sdk\platform-tools,重新双击打开uiautomatorviewer.bat,点击截图,提示opening.....,就代表已经在截图了(前提得连接到手机真机或者已经打开模拟器。前提得连接到手机真机或者已经打开模拟器。)
同类软件精选