2015-07-16 9 views
8

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

+0

Che cosa si intende per 'console di output UIAutomator '? –

+0

In Android Studio, UIAutomator visualizza il risultato del test nella console JUnit. Intendevo questo. – deltaaruna

+0

Ciao! Ho aggiornato la mia risposta in base alle mie idee su junit (anche se non l'ho usato :)) –

risposta

1

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.

+1

Questo va al registro Cat Log. Non alla console di UIAutomator. – deltaaruna

+0

i suoi log non UIAutomator. –

2

È 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!

+1

puoi pubblicare uno snippit di codice su come questo può essere implementato in un test di uiautomator –

0

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!

0

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"); 
Problemi correlati