uiautomatorViewer无法获取Android8.0手机屏幕截图的解决方案
大家好,我是楊叔。每天進步一點點,關注我的微信公眾號【程序員楊叔】,獲取更多測試開發技術知識!
問題描述:
做APP UI自動化的時候,會碰到用uiautomatorViewer在Android 8.0及以上版本的手機上,無法獲取到手機屏幕截圖,無法獲取元素定位信息的問題,會有以下的報錯:
在低版本的Android手機上,則沒有這個問題,可以順利截圖,但是現在手機的版本通常都不會低于Android8.0。
問題原因:
uiautomatorViewer暫不支持Android 8.0版本,試驗使用Android7.0的版本的手機,是可以正常獲取截圖的。
解決方法:
用adb 命令手動抓取uix布局文件和截圖,然后再用uiautomatorViewer來加載。步驟如下:
1、Windows CMD下執行命令生成app.uix文件:
adb shell uiautomator dump /sdcard/app.uix再用下面這個命令將抓取到的app.uix移動到你自己想放置的文件夾下。
比如我的文件夾是(D:/uiautomatorPicture):
2、執行下面這個命令生成app.png文件:
adb shell screencap -p /sdcard/app.png再用下面這個命令將抓取到的app.png移動到你自己想放置的文件夾下:
adb pull /sdcard/app.png D:/uiautomatorPicture/app.png3、再打開uiautomatorViewer, 加載uix和png即可:
可以將上面的語句寫在了一個bat文件里面,可以直接雙擊運行這個bat文件就把uix和png抓取了。然后再用uiautomatorViewer, 加載uix和png即可:
adb shell uiautomator dump /sdcard/app.uix adb pull /sdcard/app.uix D:/uiautomatorPicture/app.uix adb shell screencap -p /sdcard/app.png adb pull /sdcard/app.png D:/uiautomatorPicture/app.png備注: 可能會存在個別頁面即使抓取了uix和png, 用uiautomatorViewer加載也顯示不出來的情況,碰到這種情況,就只能用低版本的andorid手機了,沒辦法。
=========================================================
都看到這里了,如果對你有幫助,麻煩點個贊+收藏+分享,一鍵三連啦~
歡迎關注我的微信公眾號【程序員楊叔】:測開一枚,持續分享全棧測試知識干貨。標簽:自動化測試、性能測試、Java、Python、DevOps、CI/CD、小程序測試、測試工具、測試開發、測試框架/平臺、測試管理…
總結
以上是生活随笔為你收集整理的uiautomatorViewer无法获取Android8.0手机屏幕截图的解决方案的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 在微信如何备份、导出自己和朋友的聊天记录
- 下一篇: python决策树运用