Android自動(dòng)化如何獲取視圖元素屬性(最新推薦)
在做Android自動(dòng)化時(shí)候,我們需要知道視圖有哪些元素,元素都有哪些屬性,獲取到屬性我們才能獲取到元素從而做自動(dòng)化控制,所以做Android自動(dòng)化獲取元素屬性是必要的第一步
獲取視圖元素屬性最便捷的方式就是使用Android SDK中的 uiautomatorviewer,當(dāng)你配置好Android的開發(fā)環(huán)境后就能直接使用 uiautomatorviewer。
使用uiautomatorviewer獲取視圖元素
Windows上啟動(dòng)UI Automator
確保已經(jīng)安裝了Android SDK。
通過文件資源管理器啟動(dòng)
- 打開文件資源管理器。
- 導(dǎo)航到你安裝Android SDK的目錄,通常是
C:\Users\你的用戶名\AppData\Local\Android\Sdk\tools\bin。 - 找到
uiautomatorviewer.bat文件。 - 雙擊
uiautomatorviewer.bat文件來啟動(dòng)UI Automator Viewer。
通過命令提示符啟動(dòng)
- 打開命令提示符(CMD)。
- 如果你還沒有將Android SDK的
tools目錄添加到環(huán)境變量中,使用以下命令回車鍵啟動(dòng):
C:\Users\你的用戶名\AppData\Local\Android\Sdk\tools\bin\uiautomatorviewer.bat
- 如果tools目錄已添加到環(huán)境變量,直接輸入以下命令回車鍵啟動(dòng):
uiautomatorviewer
???????Mac上啟動(dòng)UI Automator
- 確保已經(jīng)安裝了Android SDK。
- 通過Finder啟動(dòng)打開Finder。前往
/Users/你的用戶名/Library/Android/sdk/tools/bin目錄。 - 雙擊
uiautomatorviewer應(yīng)用程序圖標(biāo)來啟動(dòng)它。
通過終端啟動(dòng)
- 打開終端(Terminal)。
- 如果你還沒有將Android SDK的
tools目錄添加到PATH環(huán)境變量中,使用以下命令回車鍵啟動(dòng):
/Users/你的用戶名/Library/Android/sdk/tools/bin/uiautomatorviewer
- ???????如果tools目錄已添加到PATH,直接輸入以下命令回車鍵啟動(dòng):
uiautomatorviewer
uiautomatorviewer啟動(dòng)后的界面

獲取視圖元素
1. 連接手機(jī)(開啟usb調(diào)試)

2. 截取視圖

3. 選擇目標(biāo)元素
比如我們選中微信啟動(dòng)圖標(biāo)后,在右下角就能查看元素的屬性了,右上角是視圖層級(jí)

當(dāng)然除了使用uiautomatorviewer獲取視圖元素外,還可以使用下面的幾個(gè)框架來獲取,就是要多花些功夫熟悉學(xué)習(xí)下
拿到視圖元素屬性后,我們就可以通過屬性的text、resource-id、class、或者bounds(元素在屏幕中的位置)獲取元素來執(zhí)行各種操作,甚至也可以通過視圖結(jié)構(gòu)去定位獲取元素等等。
如何獲取元素以及執(zhí)行各種操作?
通過usb連接手機(jī)設(shè)備,通過adb命令來操作,這種方式優(yōu)點(diǎn)是權(quán)限高操作準(zhǔn)確,缺點(diǎn)就是需要連線,對(duì)應(yīng)的封裝庫可以使用adbutils
通過開發(fā)Android應(yīng)用,繼承實(shí)現(xiàn)AccessibilityService無障礙輔助服務(wù),通過AccessibilityService的api來獲取元素,獲取到元素之后就可以對(duì)元素進(jìn)行點(diǎn)擊、長按、輸入、列表滑動(dòng)等操作,這種方式優(yōu)點(diǎn)適用于無線的自動(dòng)化場(chǎng)景,缺點(diǎn)就是執(zhí)行操作權(quán)限和準(zhǔn)確度不好控制,對(duì)應(yīng)的開源庫可以使用Assists
到此這篇關(guān)于Android自動(dòng)化-如何獲取視圖元素屬性?的文章就介紹到這了,更多相關(guān)Android視圖元素屬性內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Android自定義實(shí)現(xiàn)轉(zhuǎn)盤菜單
旋轉(zhuǎn)菜單是一種占用空間較大,實(shí)用性稍弱的UI,本文主要為大家詳細(xì)介紹了Android如何自定義實(shí)現(xiàn)轉(zhuǎn)盤菜單,文中的示例代碼講解詳細(xì),有需要的小伙伴可以參考下2023-12-12
Android實(shí)現(xiàn)瘋狂連連看游戲之狀態(tài)數(shù)據(jù)模型(三)
這篇文章主要為大家詳細(xì)介紹了Android實(shí)現(xiàn)瘋狂連連看游戲之狀態(tài)數(shù)據(jù)模型,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-03-03
解決VSCode調(diào)試react-native android項(xiàng)目錯(cuò)誤問題
這篇文章主要介紹了VSCode調(diào)試react-native android項(xiàng)目錯(cuò)誤解決辦法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-12-12
Flutter使用AnimatedSwitcher實(shí)現(xiàn)場(chǎng)景切換動(dòng)畫
在應(yīng)用中,我們經(jīng)常會(huì)遇到切換組件的場(chǎng)景。本文將利用Flutter中提供的AnimatedSwitcher這一動(dòng)畫組件來實(shí)現(xiàn)頁面內(nèi)的場(chǎng)景切換,需要的可參考一下2022-03-03
Android獲取系統(tǒng)時(shí)間以及網(wǎng)絡(luò)時(shí)間
這篇文章主要為大家詳細(xì)介紹了Android獲取系統(tǒng)時(shí)間以及網(wǎng)絡(luò)時(shí)間的方法,感興趣的小伙伴們可以參考一下2016-07-07
詳解OpenGL Shader抗鋸齒的實(shí)現(xiàn)
普通繪制圓形形狀時(shí)可以看到圖形邊緣會(huì)有明顯鋸齒現(xiàn)象并不像真實(shí)圓形形狀一樣圓潤邊緣平滑。本文將介紹如何通過自制函數(shù)實(shí)現(xiàn)抗鋸齒,需要的可以參考一下2022-02-02
Input系統(tǒng)之InputReader概要性實(shí)例分析
這篇文章主要介紹為大家了Input系統(tǒng)之InputReader概要性實(shí)例分析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-11-11

