Sto scrivendo un piccolo wrapper su Android UI Automator. Normalmente possiamo vedere lo stato del test case nella console. Posso accedervi e aggiungere i miei messaggi? Ho provato System.out.println
. Ma non ha funzionato. C'è un modo per farlo?Scrittura sulla console di output di UI Automator per Android
risposta
Se l'esecuzione di test dal adb, il modo preferibile è la stampa a logcat:
import android.util.Log;
Log.d("My tag", "My log message");
D'altra parte, l'ultima versione di UIAutomator è usato in classe di test attuazione InstrumentationTestCase. Questa classe è l'antenato di junit.framework.Assert (http://developer.android.com/reference/junit/framework/Assert.html). Presumo che troverai qualcosa di utile dai suoi metodi. Può essere il metodo di formattazione è quello che stai cercando.
Questo va al registro Cat Log. Non alla console di UIAutomator. – deltaaruna
i suoi log non UIAutomator. –
È possibile utilizzare le informazioni del rapporto Instrumentation.sendStatus(..) nella console.
sendStatus (..) accetta un pacchetto e un codice di stato come argomenti. Non vi permetterà di scrivere una stringa direttamente alla console, ma ogni coppia chiave/valore nel bundle sarà scritto come questo:
INSTRUMENTATION_STATUS: key1=value1
INSTRUMENTATION_STATUS: key2=value2
INSTRUMENTATION_STATUS_CODE: -1
Nota: Questo funziona solo se si sta utilizzando una recente versione di UiAutomator (2.0+). La vecchia versione non ha accesso a Instrumentation, quindi se stai usando UiAutomator basato su shell è tempo di aggiornare!
puoi pubblicare uno snippit di codice su come questo può essere implementato in un test di uiautomator –
Il Instrumentation.sendStatus(..) può essere utilizzato per scrivere sulla console di uiautomator.
esempio rapida sarà:
Bundle bundle = new Bundle();
bundle.putString("MyResult","10");
getAutomationSupport().sendStatus(0, bundle);
Spero che questo è quello che cercate!
Se si desidera utilizzare istruzione di stampa di Java, è necessario importare:
import static java.lang.System.out;
Dopo avere effettuato l'importazione, quindi è possibile utilizzare:
out.println("hello world");
Che cosa si intende per 'console di output UIAutomator '? –
In Android Studio, UIAutomator visualizza il risultato del test nella console JUnit. Intendevo questo. – deltaaruna
Ciao! Ho aggiornato la mia risposta in base alle mie idee su junit (anche se non l'ho usato :)) –