Recopilación de métricas del lado del dispositivo

Al ejecutar pruebas del lado del dispositivo (instrumentos, pruebas de UI Automator, etc.), los recopiladores del lado 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, una captura de pantalla tomada de forma asincrónica probablemente perderá la pantalla deseada y será inútil.

Para cumplir con estos casos de uso, existe una versión del lado del dispositivo de nuestros recopiladores y se puede usar en cualquier instrumentación 'AndroidJUnitRunner'. BaseMetricListener se puede implementar para informar automáticamente métricas que se recopilan de una manera totalmente compatible con el canal de informes Tradefed.

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

Si está utilizando el corredor ' AndroidJUnitTest ' de Tradefed, simplemente puede especificar la siguiente opción de línea de comando para que su recopilador se ejecute con sus pruebas:

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

Implementación

Al implementar sobre la clase base BaseMetricListener , puede elegir cuándo desea recopilar sus métricas durante el ciclo de vida de la instrumentación:

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

Interacción

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