Android自動化-如何獲取檢視元素屬性?

Vennnnn發表於2024-06-12

在做Android自動化時候,我們需要知道檢視有哪些元素,元素都有哪些屬性,獲取到屬性我們才能獲取到元素從而做自動化控制,所以做Android自動化獲取元素屬性是必要的第一步

獲取檢視元素屬性最便捷的方式就是使用Android SDK中的 uiautomatorviewer,當你配置好Android的開發環境後就能直接使用 uiautomatorviewer。

使用uiautomatorviewer獲取檢視元素

Windows上啟動UI Automator

確保已經安裝了Android SDK。

透過檔案資源管理器啟動

  1. 開啟檔案資源管理器。
  2. 導航到你安裝Android SDK的目錄,通常是C:\Users\你的使用者名稱\AppData\Local\Android\Sdk\tools\bin
  3. 找到uiautomatorviewer.bat檔案。
  4. 雙擊uiautomatorviewer.bat檔案來啟動UI Automator Viewer。

透過命令提示符啟動

  1. 開啟命令提示符(CMD)。
  2. 如果你還沒有將Android SDK的tools目錄新增到環境變數中,使用以下命令Enter鍵啟動:
C:\Users\你的使用者名稱\AppData\Local\Android\Sdk\tools\bin\uiautomatorviewer.bat
  1. 如果tools目錄已新增到環境變數,直接輸入以下命令Enter鍵啟動:
uiautomatorviewer

Mac上啟動UI Automator

確保已經安裝了Android SDK。

透過Finder啟動

  1. 開啟Finder。
  2. 前往/Users/你的使用者名稱/Library/Android/sdk/tools/bin目錄。
  3. 雙擊uiautomatorviewer應用程式圖示來啟動它。

透過終端啟動

  1. 開啟終端(Terminal)。
  2. 如果你還沒有將Android SDK的tools目錄新增到PATH環境變數中,使用以下命令Enter鍵啟動:
 /Users/你的使用者名稱/Library/Android/sdk/tools/bin/uiautomatorviewer
  1. 如果tools目錄已新增到PATH,直接輸入以下命令Enter鍵啟動:
uiautomatorviewer

啟動後的介面

Android自動化-如何獲取檢視元素屬性?

獲取檢視元素

1. 連線手機(開啟usb除錯)

Android自動化-如何獲取檢視元素屬性?

2. 擷取檢視

Android自動化-如何獲取檢視元素屬性?

3. 選擇目標元素

比如我們選中微信啟動圖示後,在右下角就能檢視元素的屬性了,右上角是檢視層級

Android自動化-如何獲取檢視元素屬性?

當然除了使用uiautomatorviewer獲取檢視元素外,還可以使用下面的幾個框架來獲取,就是要多花些功夫熟悉學習下

  • uiautomator2
  • appuim
  • Airtest

拿到檢視元素屬性後,我們就可以透過屬性的text、resource-id、class、或者bounds(元素在螢幕中的位置)獲取元素來執行各種操作,甚至也可以透過檢視結構去定位獲取元素等等。

如何獲取元素以及執行各種操作?

  1. 透過usb連線手機裝置,透過adb命令來操作,這種方式優點是許可權高操作準確,缺點就是需要連線,對應的封裝庫可以使用adbutils

  2. 透過開發Android應用,繼承實現AccessibilityService無障礙輔助服務,透過AccessibilityService的api來獲取元素,獲取到元素之後就可以對元素進行點選、長按、輸入、列表滑動等操作,這種方式優點適用於無線的自動化場景,缺點就是執行操作許可權和準確度不好控制,對應的開源庫可以使用Assists

相關文章