Ich schreibe einen kleinen Wrapper über Android UI Automator. Normalerweise können wir den Testfallstatus in der Konsole sehen. Kann ich darauf zugreifen und eigene Nachrichten hinzufügen? Ich habe versucht System.out.println
. Aber es hat nicht funktioniert. Gibt es eine Möglichkeit, dies zu tun?Schreiben auf Android UI Automator Ausgabekonsole
Antwort
Wenn der Test von adb ausgeführt wird, ist die bevorzugte Art und Weise wird das Drucken auf logcat:
import android.util.Log;
Log.d("My tag", "My log message");
Auf der anderen Seite, letzte Version von UIAutomator wird in Testklasse Umsetzung InstrumentationTestCase verwendet. Diese Klasse ist weit Vorfahre von junit.framework.Assert (http://developer.android.com/reference/junit/framework/Assert.html). Ich nehme an, Sie werden etwas Nützliches von seinen Methoden finden. Vielleicht ist Format-Methode, was Sie suchen.
Dies geht zum Log cat log. Nicht an die UIAutomator-Konsole. – deltaaruna
ist es nicht UIAutomator Protokolle. –
Sie können Instrumentation.sendStatus(..) Berichtsinformationen für die Konsole verwenden.
sendStatus (..) benötigt ein Bundle und einen Statuscode als Argumente. Es wird nicht lassen Sie eine Zeichenfolge direkt an die Konsole schreiben, aber jeder Schlüssel/Wert-Paar im Bundle wird wie folgt geschrieben werden:
INSTRUMENTATION_STATUS: key1=value1
INSTRUMENTATION_STATUS: key2=value2
INSTRUMENTATION_STATUS_CODE: -1
Hinweis: Dies funktioniert nur, wenn Sie eine aktuelle verwenden Version von UiAutomator (2.0+). Die alte Version hat keinen Zugriff auf Instrumentation. Wenn Sie also Shell-basierten UiAutomator verwenden, ist es Zeit für ein Upgrade!
können Sie einen Code snippit, wie dies in einem uiautomator Test implementiert werden kann –
Die Instrumentation.sendStatus(..) kann verwendet werden, um auf die uiautomator-Konsole zu schreiben.
Schnell Beispiel wird sein:
Bundle bundle = new Bundle();
bundle.putString("MyResult","10");
getAutomationSupport().sendStatus(0, bundle);
Hoffnung ist das, was Sie suchen!
Wenn Sie Java print-Anweisung verwenden möchten, sollten Sie importieren:
import static java.lang.System.out;
Nachdem Sie den Import zu tun, dann können Sie verwenden:
out.println("hello world");
- 1. UI Automator in Projekt mit minSdkVersion 9
- 2. IntelliJ-Ausgabekonsole INFO-Farbe
- 3. Kann eine Android-Anwendung eine andere Anwendung über UI Automator steuern?
- 4. In UI-Thread schreiben
- 5. Automator, AppleScript oder andere?
- 6. Kameravorschau UI-Overlay auf Android?
- 7. Schreiben auf SDCard Problem - Android
- 8. Schreiben von XML auf Android
- 9. Schreiben Python-Code auf Android
- 10. UI Automator Viewer: Empfangen von "Fehler bei der Aufnahme Screenshot: Null" jedes Mal von AVD-Gerät
- 11. Text in der Benutzeroberfläche Der Automator stimmt nicht mit dem Text auf dem tatsächlichen Gerät überein.
- 12. App aus laufenden Anwendungen entfernen, indem Sie mit UI-Automator auslesen
- 13. Bildschirmfreigabe mit Applescript und Automator
- 14. Apples Automator: Komprimierungseinstellungen für JPG?
- 15. Automator Variable im Shell-Skript
- 16. Kalender Ereignis UI android
- 17. Android Junit4 Test auf UI-Thread
- 18. Handle UI klicken Sie auf Android - Einheit
- 19. Android aktualisiert keine Schaltflächenhintergrundfarbe auf UI-Thread
- 20. Kommentare auf Facebook über Android schreiben sdk
- 21. Android: mehrere Threads Schreiben auf SQLite-Datenbank
- 22. Android Schreiben auf SD-Karte Ordner
- 23. Kann nicht auf externe Speicher schreiben Android
- 24. Wie erhalte ich den xpath für UI Automator Viewer für die mobile Automatisierung?
- 25. Einschließlich HTML UI in Android
- 26. Android UI Design-Tool
- 27. Muss man ui-view in div schreiben?
- 28. Lernen, benutzerdefinierte iPhone UI zu schreiben
- 29. wie Android-Spiel UI entwickeln
- 30. wie man Textersatz im Automator (Regex)
Was meinst du mit ‚UIAutomator Ausgabekonsole '? –
In Android Studio zeigt UIAutomator das Testergebnis in der JUnit-Konsole an. Ich meinte, dass. – deltaaruna
Hallo! Ich habe meine Antwort nach meinen Vorstellungen über Junit aktualisiert (obwohl ich das nicht verwende :)) –