2016-04-05 22 views
7

Apro un cmd sul sistema Windows, quindi inserisco "adb shell am instrument -w com.demo.uia.test/android.support.test.runner.AndroidJUnitRunner" per eseguire il test di Android.come stampare i registri nella console cmd durante l'esecuzione del test degli strumenti Android

Voglio stampare il log nel cmd mentre eseguo il test, qualcuno può dirmi come scrivere codice per stampare il log? Ho legato system.out.println("xx") e Log.i("xx","xx"), ma è inutile.

Voglio mostrare il log in linea cmd, non in logcat. Ho risolto il problema ora, utilizzo sendStatus api.

+0

Possibile duplicato di [Filtra LogCat per ottenere solo i messaggi dalla Mia Applicazione in Android?] (Http://stackoverflow.com/questions/6854127/filter-logcat-to-get-only-the-messages-from- my-application-in-android) –

+0

Voglio mostrare il log nella console cmd, non nel logcat. – MoMo

+0

Ho risolto il problema ora, utilizzo sendStatus api. – MoMo

risposta

2

immagino @MoMo fatto qualcosa di simile per avere output della registrazione nella finestra del prompt dei comandi:

Nella tua classe di test definire una funzione:

private void out(String str) { 
    Bundle b = new Bundle(); 
    b.putString(Instrumentation.REPORT_KEY_STREAMRESULT, "\n" + str); 
    InstrumentationRegistry.getInstrumentation().sendStatus(0, b); 
} 

Poi è sufficiente utilizzare nelle funzioni @Test come:

out("Some message..."); 

l'uscita appare quando si esegue il test nella finestra di prompt dei comandi con adb shell strumento am ... , ma non è mostrato nella finestra Esegui di Android Studio. In qualche modo filtra l'output delle esecuzioni di test e non riesco a trovare un'impostazione per modificare questo filtro.

Problemi correlati