2013-08-02 3 views
11

I Text von Browser zu bekommen, indem Sie uiautomatorAndroid get Text von Browser

Wie kann ich es tun?

Ich habe Struktur chrome analysiert und es gibt nur android.View.view
Ich habe versucht getText() Funktion zu nutzen, aber es ist nicht zu ändern.
Jede Hilfe wird geschätzt.

Vielleicht kann jemand, wie kann ich es tun, indem Sie einige Chrom-Instanz aufrufen ... oder mit einer anderen Methode.

Jede Lösung, mit Informationen, wie man Android-Browser-Seite als HTML/Text speichern wird ausreichen, oder wie Sie die ganze Seite auswählen. (außer Berühren/langes Drücken von Text).

+0

Eine Möglichkeit besteht darin, die aktuellen Aktivitätseigenschaften in die XML-Datei zu schreiben und diese XML-Datei zu lesen. – Fresher

+0

@Fresher Bitte erläutern, wie kann ich es tun ... – Arseniy

+0

Verwenden Sie DumpWindowHierarchy() Methode der UiDevice-Klasse, um aktuelle Aktivitäten Eigenschaften in Datei zu speichern, der Standardspeicherort ist "/ Data/Local/TMP". Dann lesen Sie diese Datei mit Dateioperationen – Fresher

Antwort

-2

Verwenden Sie die Methode dumpWindowHierarchy() der UiDevice-Klasse, um die aktuellen Aktivitätseigenschaften in der Datei zu speichern. Der Standardspeicherort ist "/data/local/tmp". Lesen Sie diese Datei dann mit Dateioperationen.

Zweite Art und Weise aktuelle Aktivität properities des Erhaltens:
1. Verwenden Sie "adb shell uiautomator Dump /data/local/tmp/view.xml" -Bildschirm properities zu bekommen. 2. Ziehen Sie die Datei mit dem Befehl adb pull zur Computermaschine und lesen Sie diese Datei.

+0

Ich brauche Daten von WebView, keine Aktivitätseigenschaften. @ DumpWindowHierarchy() @ gibt nur Hierarchie nicht Inhalt von webView – Arseniy

+0

Sorry.You sind Recht, seine nicht webview Inhalt zeigt – Fresher

2

UiDevice.getLastTraversedText() ist der einzige Weg, ich weiß hervorgehoben Text in Webview. Ich bin auch auf der Suche nach einem besseren Weg, um Webview auf Android zu testen.

+0

ja ich auch so gefunden habe, aber es so hässlich :) – Arseniy

+0

Wie kann ich markieren Text von uiautomator? – Arseniy

+0

Ich benutze Navigationstasten: oben, unten, links, rechts. Ich muss HTTP-Test-Server verwenden, damit ich den HTML-Inhalt steuern kann, und welche navigierenden Schritte, um den erwarteten Inhalt zu erhalten. Es ist auch hässlich .. – Xiaocong

1

Weirdly, UiDevice.getLastTraversedText() hat sich für mich nie gearbeitet. Seit Android 4.4 sind die Elemente jedoch als android.view.View mit ihrem Text oder ihrer Funktion als Inhaltsdeskriptoren verfügbar. Es funktioniert nicht die ganze Zeit, aber es ist eine große Verbesserung.