设备端指标收集器

在运行设备端测试(例如插桩测试、UI Automator 测试)时,主机端收集器可能并不理想,因为很难将指标收集同步到设备上运行的测试。例如,异步截取的屏幕截图很可能会错过想要的屏幕,变得毫无用处。

为满足这些用例的要求,我们提供了收集器的设备端版本,该版本可用于任何 AndroidJUnitRunner 插桩测试。可以实现 BaseMetricListener,以便自动报告采用与 Tradefed 报告渠道完全兼容的方式收集的指标。

此库与 Tradefed 本身分离,可以在没有 Tradefed 的情况下使用。

如果您使用的是来自 Tradefed 的 AndroidJUnitTest 运行程序,那么您可以指定以下命令行选项,让收集器与测试一起运行:

  --device-listeners android.device.collectors.ScreenshotListener
  LOCAL_STATIC_JAVA_LIBRARIES += collector-device-lib

实现

在基类 BaseMetricListener 之上实现时,您可以选择要在插桩测试生命周期内的什么时间收集指标:

  • 测试运行开始时:onTestRunStart
  • 测试用例开始时:onTestStart
  • 测试用例结束时:onTestEnd
  • 测试用例失败时:onTestFail
  • 测试运行结束时:onTestRunEnd

互动

设备端的指标收集会与插桩测试执行本身同步进行,并且指标会传递回插桩测试结果并由 Tradefed 解析,以作为调用的一部分进行报告。