我正在Android UI Automator上写一个小包装器。通常我们可以在控制台中看到测试用例状态。我可以访问它并添加我自己的消息吗?我试过了System.out.println
。但它没有用。
有没有办法做到这一点?
答案 0 :(得分:2)
您可以将Instrumentation.sendStatus(..)报告信息用于控制台。
sendStatus(..)将Bundle和状态代码作为参数。它不会让你直接在控制台上写一个字符串,但是Bundle中的每个键/值对都会这样写出来:
INSTRUMENTATION_STATUS: key1=value1
INSTRUMENTATION_STATUS: key2=value2
INSTRUMENTATION_STATUS_CODE: -1
注意:只有在使用最新版本的UiAutomator(2.0+)时,此功能才有效。旧版本无法访问Instrumentation,因此如果您使用基于shell的UiAutomator,则需要升级!
答案 1 :(得分:1)
如果从adb运行测试,最好的方法是打印到logcat:
import android.util.Log;
Log.d("My tag", "My log message");
另一方面,UIAutomator的最新版本用于实现InstrumentationTestCase的测试类中。这个类是junit.framework.Assert(http://developer.android.com/reference/junit/framework/Assert.html)的远祖。我假设你会从它的方法中找到有用的东西。可能格式化方法就是您要搜索的内容。
答案 2 :(得分:1)
Instrumentation.sendStatus(..)可用于写入uiautomator控制台。
快速示例将是:
Bundle bundle = new Bundle();
bundle.putString("MyResult","10");
getAutomationSupport().sendStatus(0, bundle);
希望这是你想要的!
答案 3 :(得分:0)
如果要使用Java的print语句,则应导入:
import static java.lang.System.out;
导入后,您可以使用:
out.println("hello world");