AndroidViewClient/culebra Lo strumento dump
consente di fare esattamente questo. AndroidViewClient può essere utilizzato come libreria e fornisce anche alcuni strumenti come dump
e culebra
.
usage: dump [OPTION]... [serialno]
Options:
-H, --help prints this help
-V, --verbose verbose comments
-v, --version
-I, --ignore-secure-device ignore secure device
-E, --ignore-version-check ignores ADB version check
-F, --force-view-server-use force view server use (even if UiAutomator present:w)
-S, --do-not-start-view-server don't start ViewServer
-k, --do-not-ignore-uiautomator-killed don't ignore UiAutomator killed
-w, --window=WINDOW dump WINDOW content (default: -1, all windows)
-a, --all dump all information about Views
-i, --uniqueId dump View unique IDs
-x, --position dump View positions
-b, --bounds dump View bounds
-d, --content-description dump View content descriptions
-g, --tag dump View tags
-c, --center dump View centers
-f, --save-screenshot=FILE save screenshot to file
-W, --save-view-screenshots=DIR save View screenshots to files in directory
-D, --do-not-dump-views don't dump views, only useful if you specified -f or -W
-A, --device-art=MODEL device art model to frame screenshot (auto: autodetected)
-Z, --drop-shadow drop shadow for device art screenshot
-B, --glare screen glare over screenshot
-h, --use-uiautomator-helper use UiAutomatorHelper Android app
-X, --debug=LIST debug options
esecuzione dump
senza opzioni, si limita a stampare l'albero di Vista e alcune delle sue proprietà di base, come ID
android.widget.FrameLayout
com.android.launcher3.Workspace com.google.android.apps.nexuslauncher:id/workspace
android.widget.FrameLayout com.google.android.apps.nexuslauncher:id/workspace_blocked_row
android.widget.TextView com.google.android.apps.nexuslauncher:id/date_text1 May 1
android.widget.TextView com.google.android.apps.nexuslauncher:id/date_text2 MONDAY, 2017
android.widget.TextView Maps
android.widget.ImageView com.google.android.apps.nexuslauncher:id/g_icon
android.widget.ImageView com.google.android.apps.nexuslauncher:id/all_apps_handle
android.view.ViewGroup com.google.android.apps.nexuslauncher:id/layout
android.widget.TextView Messenger
android.widget.TextView Chrome
d'altra parte, se si desidera che le posizioni dei punti di vista, si può essere eseguito
$ discarica -x
android.widget.FrameLayout (0, 0, 1440, 2392)
com.android.launcher3.Workspace com.google.android.apps.nexuslauncher:id/workspace (0, 0, 1440, 2392)
android.widget.FrameLayout com.google.android.apps.nexuslauncher:id/workspace_blocked_row (30, 126, 1380, 372)
android.widget.TextView com.google.android.apps.nexuslauncher:id/date_text1 May 1 (1037, 194, 337, 162)
android.widget.TextView com.google.android.apps.nexuslauncher:id/date_text2 MONDAY, 2017 (1092, 356, 282, 73)
android.widget.TextView Maps (30, 1614, 276, 372)
android.widget.ImageView com.google.android.apps.nexuslauncher:id/g_icon (30, 214, 276, 196)
android.widget.ImageView com.google.android.apps.nexuslauncher:id/all_apps_handle (636, 1986, 168, 98)
android.view.ViewGroup com.google.android.apps.nexuslauncher:id/layout (0, 2084, 1440, 308)
android.widget.TextView Messenger (306, 2112, 276, 280)
android.widget.TextView Chrome (858, 2112, 276, 280)
Le opzioni vi darà controllo sull'output. È possibile ottenere ulteriori informazioni here.
Desidera aggiungere una nota che può essere in esecuzione un solo client UIAutomator oppure il comando verrà "ucciso" e non funzionerà. Sono stato perplesso da questo fino a quando ho scoperto che ero bloccato eseguendo test utilizzando una connessione UIAutomator aperta. –
@Alex Ho provato a eseguire il comando ui automator dump per ottenere la gerarchia ui dall'emulatore Android, ma sembra che non riesca a ottenere il dump completo. Che cosa sto facendo di sbagliato? Sto cercando di ottenere il dump per l'attività di UCBrowser in esecuzione in emulatore Android in modo da poter ottenere il limite di un pulsante/elemento da fare clic. Ho anche fatto una domanda su SO riguardo lo stesso qui - http://stackoverflow.com/questions/43780490/automate-the-installation-of-ucbrowser – Jignesh
Il trucco impressionante con '/ dev/tty' –