El modo de agente de prueba es una función que se agregó en Android 10 para desarrolladores de apps de terceros que desean automatizar un dispositivo o una flota de dispositivos. La función proporciona un método para borrar todos los datos del usuario en un dispositivo Android, retener las claves de ADB y omitir todas las pantallas de configuración iniciales. Esto le permite al usuario ejecutar una prueba de IU inmediatamente después del inicio sin ninguna interacción manual.
Personalización
Para determinar si un dispositivo está en modo de agente de prueba, verifica ActivityManager.isRunningInUserTestHarness()
. Mantén las personalizaciones al mínimo. Limítalas a acciones como omitir pantallas de configuración (en el teclado o el asistente de configuración) que podrían interrumpir las pruebas de la IU o requerir interacción manual.
Implementación
La implementación predeterminada de PersistentDataBlockManagerInternal
se encuentra en PersistentDataBlockService
.
El modo de agente de prueba se implementa en TestHarnessModeService
.
La implementación predeterminada del modo de agente de prueba usa el mismo mecanismo de almacenamiento que la protección contra el restablecimiento de la configuración de fábrica para almacenar las claves de adb de forma temporal en una partición persistente. Si ya se implementó una partición persistente con protección contra el restablecimiento de la configuración de fábrica en el dispositivo de prueba, se requiere de un esfuerzo mínimo o nulo para admitir la función.
Los OEMs que no tienen una partición persistente configurada deben implementar PersistentDataBlockManagerInternal
antes de ejecutar TestHarnessModeService
.
Verifica el estado del modo de agente de prueba
Cuando se habilita el modo de agente de prueba, ActivityManager.isRunningInUserTestHarness()
muestra true
.
Ejecuta el modo de agente de prueba
Si habilitas el modo de agente de prueba, se borrarán todos los datos del dispositivo y se configurará para pruebas. Esto significa que todas las partes del dispositivo que podrían interferir en las pruebas (como las cuentas de sincronización automática, la verificación de paquetes y las actualizaciones automáticas) están inhabilitadas de forma predeterminada, pero el usuario puede volver a habilitarlas.
Ejecuta el comando adb
para habilitar el modo de agente de prueba:
adb shell cmd testharness enable