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, un captura de pantalla tomada de forma asíncrona probablemente no vea la pantalla deseada y no inútiles.
Para cumplir con estos casos de uso, existe una versión del dispositivo de nuestros recopiladores
y se puede usar en cualquier instrumentación AndroidJUnitRunner
.
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á 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 implementas 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 lado del 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.