Recopiladores de métricas del dispositivo

Cuando se ejecutan pruebas del dispositivo (por ejemplo, instrumentaciones, pruebas de UI Automator), los recopiladores del host pueden no ser ideales porque es difícil sincronizar la recopilación de métricas con una prueba que se ejecuta en un dispositivo. Por ejemplo, es probable que una captura de pantalla tomada de forma asíncrona no capture la pantalla deseada y sea inútil.

Para satisfacer estos casos de uso, existe una versión de nuestros recopiladores para el dispositivo que se puede usar en cualquier instrumentación de AndroidJUnitRunner. Se puede implementar BaseMetricListener para informar automáticamente las métricas que se recopilan de una manera totalmente compatible con la canalización de informes de Tradefed.

Esta biblioteca está desacoplada de Tradefed y se puede usar sin Tradefed.

Si usas el ejecutor AndroidJUnitTest de Tradefed, puedes especificar la siguiente opción de línea de comandos para que el recopilador se ejecute con tus pruebas:

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

Implementación

Cuando implementes en la clase base BaseMetricListener, puedes elegir cuándo deseas recopilar tus métricas durante el ciclo de vida de la instrumentación:

  • Cuando comienza una ejecución de prueba: onTestRunStart
  • Cuando se inicia un caso de prueba: onTestStart
  • Cuando finaliza un caso de prueba: onTestEnd
  • Cuando un caso de prueba falla: onTestFail
  • Cuando finaliza una ejecución de prueba: onTestRunEnd

Interacción

La recopilación de métricas en el dispositivo se realiza de forma síncrona con la ejecución de la instrumentación, y las métricas se vuelven a pasar a los resultados de la instrumentación y Tradefed las analiza para informarlas como parte de la invocación.