Implementa el modo de agente de prueba

El modo de agente de prueba es una función que se agregó en Android 10 para desarrolladores de apps de terceros que deseen para automatizar un dispositivo o una flota de dispositivos. La función proporciona un método para limpiar todo. del usuario en un dispositivo Android, retiene las claves ADB y omite todas las pantallas de configuración inicial. Esto permite al usuario ejecutar una prueba de IU inmediatamente después del inicio sin ninguna interacción manual.

Personalización

Para saber si un dispositivo está en modo de agente de prueba, consulta ActivityManager.isRunningInUserTestHarness() Minimiza la cantidad de personalizaciones. a cosas como omitir pantallas de configuración (en el teclado o asistente de configuración) que podrían fallar Pruebas de IU o requieren interacción manual.

Implementación

La implementación predeterminada de PersistentDataBlockManagerInternal está 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 protección contra el restablecimiento de la configuración de fábrica para almacenar las claves adb temporalmente en una partición persistente. Si un 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 necesita poco o nada de trabajo para admitir la función.

Los OEM que no tienen configurada una partición persistente deben implementar PersistentDataBlockManagerInternal antes de ejecutarse TestHarnessModeService

Verifica el estado del modo de agente de prueba

Cuando se habilita el modo de agente de prueba, ActivityManager.isRunningInUserTestHarness() muestra true.

Ejecutar 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 lo siguiente: y pruebas. Esto significa que todas las partes del dispositivo que puedan interferir en las pruebas (como las cuentas con sincronización automática, verificación de paquetes y 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