Cuando se ejecutan pruebas del dispositivo (instrumentaciones, pruebas de UI Automator, etc.), Es posible que los recopiladores del host no sean ideales, ya que son difíciles de sincronizar. recopilación de métricas a una prueba que se ejecuta en un dispositivo. Por ejemplo, una captura de pantalla tomados de forma asincrónica probablemente no vean la pantalla deseada y no sirvan para nada.
Para cumplir con estos casos de uso, existe una versión del dispositivo de nuestros recopiladores y puede usarse en cualquier instancia de "AndroidJUnitRunner" y la instrumentación. BaseMetricListener Se pueden implementar para informar automáticamente las métricas recopiladas y completamente compatible con la canalización de informes de Tradefed.
Esta biblioteca está separada de Tradefed y se puede usar sin Tradefed.
Si usas "AndroidJUnitTest" de Tradefed, puedes especificar la siguiente opción de línea de comandos para que tu colector se ejecute con tus pruebas:
--device-listeners android.device.collectors.ScreenshotListener
LOCAL_STATIC_JAVA_LIBRARIES += collector-device-lib
Implementación
Si realizas la implementación sobre la clase base BaseMetricListener
, puedes elegir
y cuándo quieres recopilar métricas durante el ciclo de vida
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, ocurre lo siguiente:
onTestRunEnd
Interacción
La recopilación de métricas en el dispositivo se realiza de forma síncrona en el la ejecución de instrumentación, y las métricas se devuelven al los resultados de instrumentación y los analiza Tradefed para que los informen como parte del invocación.