设备端指标收集

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

为了满足这些用例,我们的收集器的设备端版本存在并且可以在任何“AndroidJUnitRunner”工具中使用。可以实施BaseMetricListener以自动报告以与 Tradefed 报告管道完全兼容的方式收集的指标。

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

如果您使用的是 Tradefed 的“ AndroidJUnitTest ”运行程序,您只需指定以下命令行选项即可让您的收集器与您的测试一起运行:

  --device-listeners android.device.collectors.ScreenshotListener

注意:为了在运行时解析收集器类,您的检测 APK 很可能需要通过将以下内容添加到您的 makefile 来静态包含它们:

  LOCAL_STATIC_JAVA_LIBRARIES += collector-device-lib

执行

在基类BaseMetricListener上实现时,您可以选择在仪器生命周期内何时收集指标:

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

相互作用

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