我在Windows系统上打开一个cmd,然后输入" adb shell am instrument -w com.demo.uia.test/android.support.test.runner.AndroidJUnitRunner
"运行android测试。
我想在运行测试时在cmd中打印日志,有人能告诉我如何编写代码来打印日志吗?我绑定了system.out.println("xx")
和Log.i("xx","xx")
,但它没用。
我想在cmd行显示日志,而不是在logcat中显示。 我现在解决了这个问题,使用sendStatus api。
答案 0 :(得分:6)
我想@MoMo做了类似的事情,在命令提示符窗口中输入日志输出:
在测试类中定义一个函数:
private void out(String str) {
Bundle b = new Bundle();
b.putString(Instrumentation.REPORT_KEY_STREAMRESULT, "\n" + str);
InstrumentationRegistry.getInstrumentation().sendStatus(0, b);
}
然后只需在@Test函数中使用它,如:
out("Some message...");
在命令提示符窗口中使用 adb shell am instrument ... 运行测试时会出现输出,但它不会显示在Android Studio的“运行”窗口中。它以某种方式过滤测试运行的输出,我找不到修改此过滤器的设置。