AndroidViewClient/culebra 's dump
Werkzeug können Sie genau das tun. AndroidViewClient kann als Bibliothek verwendet werden und bietet auch einige Werkzeuge wie dump
und 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
läuft dump
ohne Optionen, druckt nur den Baum von Ansichten und einige seiner grundlegenden Eigenschaften, wie 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
auf der anderen Seite, wenn Sie die Positionen der Ansichten möchten, können Sie kann
$ laufen -x Dump
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)
Die Optionen geben Ihnen Kontrolle über den Ausgang. Sie können weitere Informationen erhalten here.
Wollte eine Notiz hinzufügen, dass nur ein UIAutomator-Client ausgeführt werden kann oder der Befehl wird "getötet" und nicht funktionieren. Ich war davon überrascht, bis ich herausfand, dass ich blockiert war, indem ich Tests mit einer offenen UIAutomator-Verbindung durchführte. –
@Alex Ich versuchte, den Befehl ui Automator Dump zu laufen, um die ui-Hierarchie von Android-Emulator zu bekommen, aber es scheint, dass ich nicht den kompletten Dump bekomme. Was mache ich falsch? Ich versuche, den Dump für die Aktivität von UCBrowser im Android Emulator zu bekommen, so dass ich die Grenze eines Knopfes/Gegenstandes zum Klicken bekommen kann. Ich habe auch eine Frage über SO in Bezug auf die gleiche hier - http://stackoverflow.com/questions/43780490/automate-the-installation-of-ucbrowser – Jignesh
Awesome Trick mit '/ dev/tty' –