【问题标题】:Writing to Android UI Automator output console写入 Android UI Automator 输出控制台
【发布时间】:2015-07-16 11:57:32
【问题描述】:

我正在为 Android UI Automator 编写一个小包装器。通常我们可以在控制台中看到测试用例的状态。我可以访问它并添加我自己的消息吗?我试过System.out.println。但它没有用。 有没有办法做到这一点?

【问题讨论】:

  • “UIAutomator 输出控制台”是什么意思?
  • 在android studio中,UIAutomator在JUnit控制台中显示测试结果。我是这个意思。
  • 嗨!我已经根据我对 junit 的想法更新了我的答案(虽然我没有使用它:))
  • 您使用的是 UiAutomator 2.0 或更高版本吗?

标签: android android-uiautomator


【解决方案1】:

您可以使用Instrumentation.sendStatus(..)向控制台报告信息。

sendStatus(..) 接受一个 Bundle 和一个状态码作为参数。它不会让你直接将字符串写入控制台,但 Bundle 中的每个键/值对都会像这样写出:

INSTRUMENTATION_STATUS: key1=value1
INSTRUMENTATION_STATUS: key2=value2
INSTRUMENTATION_STATUS_CODE: -1

注意:这仅在您使用最新版本的 UiAutomator (2.0+) 时有效。旧版本无法访问 Instrumentation,所以如果您使用基于 shell 的 UiAutomator,是时候升级了!

【讨论】:

  • 您能否发布一段代码片段,说明如何在 uiautomator 测试中实现这一点
【解决方案2】:

Instrumentation.sendStatus(..) 可用于写入 uiautomator 控制台。

简单的例子是:

   Bundle bundle = new Bundle();
   bundle.putString("MyResult","10");
   getAutomationSupport().sendStatus(0, bundle);

希望这就是你要找的东西!

【讨论】:

    【解决方案3】:

    如果你想使用Java的打印语句,你应该导入:

     import static java.lang.System.out;
    

    导入后,就可以使用了:

    out.println("hello world");
    

    【讨论】:

      猜你喜欢
      • 2017-09-30
      • 2012-12-18
      • 2020-04-10
      • 2015-01-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多