在做Android自動化時候,我們需要知道視圖有哪些元素,元素都有哪些屬性,獲取到屬性我們才能獲取到元素從而做自動化控制,所以做Android自動化獲取元素屬性是必要的第一步 獲取視圖元素屬性最便捷的方式就是使用Android SDK中的 uiautomatorviewer,當你配置好Android... ...
在做Android自動化時候,我們需要知道視圖有哪些元素,元素都有哪些屬性,獲取到屬性我們才能獲取到元素從而做自動化控制,所以做Android自動化獲取元素屬性是必要的第一步
獲取視圖元素屬性最便捷的方式就是使用Android SDK中的 uiautomatorviewer,當你配置好Android的開發環境後就能直接使用 uiautomatorviewer。
使用uiautomatorviewer獲取視圖元素
Windows上啟動UI Automator
確保已經安裝了Android SDK。
通過文件資源管理器啟動
- 打開文件資源管理器。
- 導航到你安裝Android SDK的目錄,通常是
C:\Users\你的用戶名\AppData\Local\Android\Sdk\tools\bin
。 - 找到
uiautomatorviewer.bat
文件。 - 雙擊
uiautomatorviewer.bat
文件來啟動UI Automator Viewer。
通過命令提示符啟動
- 打開命令提示符(CMD)。
- 如果你還沒有將Android SDK的
tools
目錄添加到環境變數中,使用以下命令回車鍵啟動:
C:\Users\你的用戶名\AppData\Local\Android\Sdk\tools\bin\uiautomatorviewer.bat
- 如果tools目錄已添加到環境變數,直接輸入以下命令回車鍵啟動:
uiautomatorviewer
Mac上啟動UI Automator
確保已經安裝了Android SDK。
通過Finder啟動
- 打開Finder。
- 前往
/Users/你的用戶名/Library/Android/sdk/tools/bin
目錄。 - 雙擊
uiautomatorviewer
應用程式圖標來啟動它。
通過終端啟動
- 打開終端(Terminal)。
- 如果你還沒有將Android SDK的
tools
目錄添加到PATH環境變數中,使用以下命令回車鍵啟動:
/Users/你的用戶名/Library/Android/sdk/tools/bin/uiautomatorviewer
- 如果tools目錄已添加到PATH,直接輸入以下命令回車鍵啟動:
uiautomatorviewer
啟動後的界面
獲取視圖元素
1. 連接手機(開啟usb調試)
2. 截取視圖
3. 選擇目標元素
比如我們選中微信啟動圖標後,在右下角就能查看元素的屬性了,右上角是視圖層級
當然除了使用uiautomatorviewer獲取視圖元素外,還可以使用下麵的幾個框架來獲取,就是要多花些功夫熟悉學習下
拿到視圖元素屬性後,我們就可以通過屬性的text、resource-id、class、或者bounds(元素在屏幕中的位置)獲取元素來執行各種操作,甚至也可以通過視圖結構去定位獲取元素等等。
如何獲取元素以及執行各種操作?
-
通過usb連接手機設備,通過adb命令來操作,這種方式優點是許可權高操作准確,缺點就是需要連線,對應的封裝庫可以使用adbutils
-
通過開發Android應用,繼承實現AccessibilityService無障礙輔助服務,通過AccessibilityService的api來獲取元素,獲取到元素之後就可以對元素進行點擊、長按、輸入、列表滑動等操作,這種方式優點適用於無線的自動化場景,缺點就是執行操作許可權和準確度不好控制,對應的開源庫可以使用Assists