不知道大家有没有尝试点击UiautomatorViewer界面中的文件夹按钮。我刚接触这个工具的时候,还比较疑惑这个文件夹按钮是什么作用的呢?打开后才发现,是个选择文件的对话框。从UiautomatorViewer源码(一):源码浅析一文中,我们知道快照一个UI界面元素需要亮部分数据。一个是当前屏幕截图,一个是dump出来的层级结构数据。那么,这个文件选择框里面的两个选择按钮,也与这两部分数据是一致的。
那么,如果想要保存部分界面的话,以后使用或者查看层级结构的话,我们可以备份这两个文件就行了。这个文件夹按钮的功能。也就意味着,仅使用这个文件夹按钮的话,我们也快照屏幕到工具中,需要如下步骤:
adb命令实现截屏:adb shell screencap > /sdcard/ScreenShots/demo.png
adb命令导出已截图到电脑中:adb pull /sdcard/ScreenShots/demo.png D:\UiautomatorViewer\demo.png
adb命令实现dump UI数据:adb shell "uiautomator dump > /sdcard/Dump/demo.uix" (部分版本使用uia,部分版本使用xml)
adb命令导出数据:adb pull /sdcard/Dump/demo.uix D:\UiautomatorViewer\demo.uix
随后选择填入选择框即可。
点击确定后的效果图:
ok,搞定。
接下来,我们只要保存这两个文件在电脑的磁盘当中即可,需要的时候,拿出来,用uiautomatorViewer这个工具打开查看就可以了,这样就实现了界面数据的持久化。
PS:感觉界面信息的持久化,在平时对于自动化测试来说,可能有点鸡肋,但是,对于一些有特殊需求,或者界面开发的人来说,可能用处会更大一点。