在运行设备端测试(例如插桩测试、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 解析,以作为调用的一部分进行报告。