2016-04-05 10 views
7

Windows sisteminde bir cmd açıyorum ve daha sonra android testini çalıştırmak için "adb shell am instrument -w com.demo.uia.test/android.support.test.runner.AndroidJUnitRunner" girin.android cihaz testini yürütürken cmd konsolunda günlükleri nasıl yazdırırım

Testi çalıştırırken cmd'ye günlük yazdırmak istiyorum, herhangi biri nasıl yazdırabilirsiniz? system.out.println("xx") ve Log.i("xx","xx")'u bağladım, ancak işe yaramaz.

Logcat'ta değil, logu cmd satırında göstermek istiyorum. Şimdi sorunu çözdüm, sendStatus API kullanın.

test sınıfta

bir işlev tanımlamak:

+0

Olası kopyalarını [Filter LogCat uygulamasında yalnızca Android'deki Uygulamamdan almak için mesajlar alınıyor mu?] (Http://stackoverflow.com/questions/6854127/filter-logcat-to-get-only-the-messages-from- my-application-in-android) –

+0

Günlüğü cmd konsolunda göstermek istiyorum, logcat değil. – MoMo

+0

Şimdi sorunu çözdüm, sendStatus API kullanın. – MoMo

cevap

2

Ben @MoMo komut istemi penceresinde giriş çıkışı için böyle bir şey yaptığını tahmin

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

Sonra basitçe @Test fonksiyonları kullanmak gibi:

adb shell am aletle Komut İstemi penceresinde testi çalıştırırken çıktı görüntülenir
out("Some message..."); 

... ancak Android Studio'nun Run penceresinde gösterilmiyor. Bir şekilde test çalışmalarının çıktısını filtreler ve bu filtreyi değiştirmek için bir ayar bulamıyorum.

İlgili konular