小知识分享:adb uiautomator 命令 dump ui 树信息

Posted 亦枫Blog

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了小知识分享:adb uiautomator 命令 dump ui 树信息相关的知识,希望对你有一定的参考价值。

之前给大家分享过一篇文章,讲述如何通过 getevent/sendevent/input 命令向 android 手机设备接收和发送操作事件,来解决自动化脚本场景的需求。

其实还有一个小知识点需要补充一下,就是可以借助 uiautomator 命令 dump 当前页面的 ui hierarchy 信息。

一个完整的 uiautomator 命令类似:

adb shell uiautomator dump [--compressed] [file]

--compressed 参数:输出更加精简的 layout 布局信息,包括 android:id/content 在内的通用外层 ui 结构都被拿掉了;

file 参数:xml 格式输出结果文件,默认为 /sdcard/window_dump.xml;

还是老规矩,举个简单的例子。

~ yifeng$ adb shell uiautomator dump
UI hierchary dumped to: /sdcard/window_dump.xml

再通过 adb pull 命令将手机 sdcard 里的文件传输到电脑中。

adb pull /sdcard/window_dump.xml Desktop/

用 Sublime 软件打开,Indent XML 插件格式化后,就是这个样子:

<?xml version='1.0' encoding='UTF-8' standalone='yes' ?>
<hierarchy rotation="0">
    <node bounds="[0,0][1080,2340]" checkable="false" checked="false" class="android.widget.FrameLayout" clickable="false" content-desc="" enabled="true" focusable="false" focused="false" index="0" long-clickable="false" package="com.feng.test" password="false" resource-id="" scrollable="false" selected="false" text="">
        <node bounds="[48,128][341,208]" checkable="false" checked="false" class="android.widget.TextView" clickable="false" content-desc="" enabled="true" focusable="false" focused="false" index="0" long-clickable="false" package="com.feng.test" password="false" resource-id="" scrollable="false" selected="false" text="DemoApp"/>
        <node bounds="[339,1224][741,1368]" checkable="false" checked="false" class="android.widget.Button" clickable="true" content-desc="" enabled="true" focusable="true" focused="false" index="1" long-clickable="false" package="com.feng.test" password="false" resource-id="com.feng.test:id/b_button" scrollable="false" selected="false" text="HELLO WORLD!"/>
    </node>
</hierarchy>

当前页面完整的 UI 树结构信息都 dump 出来了,包括 view 的类名、资源 ID 和屏幕位置坐标等。

长按识别二维码,即可关注我


原创推荐

android getevent sendevent input 接收发送事件

禁用 testOnly 属性,解决 debug 包安装失败

解决 Adb Unavailable,尝试了一千种方案后

以上是关于小知识分享:adb uiautomator 命令 dump ui 树信息的主要内容,如果未能解决你的问题,请参考以下文章

adb命令行执行uiautomator2

使用uiautomator2实现对手机app的操作(windows)

小知识·adb安装和使用方法

adb uiautomator + shell

uiautomator2 使用

安装uiautomator2 + python 自动化环境