不知道大家有沒有嘗試點擊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:感覺界面信息的持久化,在平時對於自動化測試來說,可能有點雞肋,但是,對於一些有特殊需求,或者界面開發的人來說,可能用處會更大一點。