Robo test es una herramienta de prueba que está integrada con Firebase Test Lab. Robo test analiza la estructura de la interfaz de usuario (UI) de su aplicación y luego la explora metódicamente, simulando automáticamente las actividades del usuario. Robo test siempre simula las mismas actividades del usuario en el mismo orden cuando lo usa para probar una aplicación en una configuración de dispositivo específica con la misma configuración. Este enfoque de prueba repetible le permite utilizar la prueba Robo para validar correcciones de errores y probar regresiones.
Robo test captura archivos de registro, guarda una serie de capturas de pantalla anotadas y luego crea un video a partir de esas capturas de pantalla para mostrarle las operaciones de usuario simuladas que realizó. Estos registros, capturas de pantalla y videos pueden ayudarlo a determinar la causa raíz de los fallos de las aplicaciones. Estas funciones de prueba de Robo también pueden ayudarlo a encontrar problemas con la interfaz de usuario de su aplicación.
Además de ejecutar pruebas Robo regulares, puede personalizar sus pruebas utilizando scripts Robo, que son una característica de las pruebas Robo. Para obtener más información, consulte Ejecutar un script Robo .
Si desea probar la versión Beta de Robo para iOS+, consulte Ejecutar una prueba de Robo .
Estadísticas de rastreo de pruebas de Robo
Para ayudarlo a interpretar los resultados de su prueba Robo, la prueba Robo registra estadísticas durante cada rastreo de prueba. Test Lab muestra las estadísticas en la parte superior de la pestaña de prueba de Robo en la página de resultados de la prueba:
Acciones: el número total de acciones realizadas durante el rastreo, incluidas acciones de script de Robo, acciones de mono y directivas de Robo.
Actividades: el número de actividades distintas cubiertas durante el rastreo.
Pantallas: la cantidad de pantallas distintas visitadas durante el rastreo.
Test Lab también utiliza las estadísticas para crear una representación visual de la prueba de Robo en forma de gráfico de rastreo. El gráfico tiene pantallas como nodos y acciones como aristas. Si sigue los bordes entre las pantallas, puede tener una idea de cómo la prueba de Robo atravesó su aplicación durante el rastreo.
Tiempo de espera de prueba de robot
Dependiendo de la complejidad de la interfaz de usuario de su aplicación, la prueba Robo puede tardar cinco minutos o más en completar un conjunto completo de interacciones de la interfaz de usuario. Recomendamos configurar el tiempo de espera de la prueba en al menos 120 segundos (2 minutos) para la mayoría de las aplicaciones y 300 segundos (5 minutos) para aplicaciones moderadamente complejas. El valor predeterminado de tiempo de espera es 300 segundos (5 minutos) para las pruebas ejecutadas desde Android Studio y Firebase console, y 900 segundos (15 minutos) para las pruebas ejecutadas desde la línea de comandos gcloud
.
Errores de tiempo de espera de inicio de la aplicación
Si su aplicación tarda mucho en iniciarse, Robo test puede generar un error y no podrá rastrear su aplicación. Esto solo ocurre en casos de tiempo de inicio extremadamente largo y solo se puede resolver revisando la aplicación para que se inicie más rápido.
Más control con los scripts de Robo
A veces necesitas más control sobre tus pruebas. Por ejemplo, es posible que desee probar un recorrido de usuario común o proporcionar entradas de interfaz de usuario específicas, como un nombre de usuario y una contraseña. Los scripts Robo pueden ayudar. Para obtener más información sobre los scripts de Robo, consulte Ejecutar un script de Robo y la guía de referencia de scripts de Robo .
Pruebas robóticas y widgets de interfaz de usuario que no son de Android
Las pruebas de Robo utilizan la API de Android para realizar acciones directamente en los widgets de la interfaz de usuario de Android. Eso ayuda a las pruebas a explorar su interfaz de usuario automáticamente, pero también significa que deben poder extraer una jerarquía de interfaz de usuario de Android para una pantalla para poder ejecutar pruebas en ella.
Si una pantalla de su aplicación no utiliza widgets de interfaz de usuario de Android, las pruebas de Robo recurren a Monkey Actions para probar esa pantalla. A diferencia de las acciones de prueba Robo más metódicas, Monkey Actions simplemente simula eventos de toque en ubicaciones semialeatorias en la pantalla de un dispositivo.
Para probar mejor las pantallas que no usan widgets de interfaz de usuario de Android, puede reemplazar los toques arbitrarios de Monkey Action con un conjunto de toques e interacciones con script a través de Firebase Test Lab Game Loop Tests .
Integración con Google Play
Puede utilizar la prueba Robo en Google Play Console cuando carga y publica el archivo APK de su aplicación mediante el canal alfa o beta. La prueba Robo se ejecuta en un conjunto de dispositivos físicos populares de diferentes ubicaciones geográficas, lo que brinda cobertura de prueba en varios factores de forma y configuraciones de hardware. Para obtener más información, consulte Usar informes previos al lanzamiento para identificar problemas .
Pruebe el inicio de sesión de la cuenta y la entrada de texto predefinido
Robo test admite el inicio de sesión de la cuenta de prueba y también le permite ingresar texto predefinido en los campos de su aplicación. Para el inicio de sesión personalizado y otros ingresos de texto predefinidos, Robo test puede ingresar texto en los campos EditText
de su aplicación. Para cada cadena, debe identificar el campo EditText
utilizando un nombre de recurso de Android. Para obtener más información, consulte Acceso a recursos .
Iniciar sesión
Robo test tiene dos métodos mutuamente excluyentes para admitir el inicio de sesión:
Inicio de sesión personalizado: si proporciona credenciales de cuenta de prueba, debe indicarle a Robo test dónde ingresarlas y también proporcionar esas credenciales.
Inicio de sesión automático: si su aplicación tiene una pantalla de inicio de sesión que usa una cuenta de Google para la autenticación, Robo test usa una cuenta de prueba de Google, a menos que proporcione las credenciales de la cuenta de prueba para el inicio de sesión personalizado.
Para proporcionar credenciales de cuenta de prueba para el inicio de sesión personalizado, haga lo siguiente:
En la página Seleccionar dimensiones , elija Opciones adicionales .
En Credenciales de la cuenta de prueba (opcional) , ingrese los nombres de los recursos de nombre de usuario y contraseña y el nombre de usuario y la contraseña de la cuenta de prueba.
Entrada de texto predefinida
Puede proporcionar texto de entrada personalizado para otros campos de texto utilizados por su aplicación. Para proporcionar entrada de texto para campos adicionales, haga lo siguiente:
En la página Seleccionar dimensiones , elija Opciones adicionales .
En Campos adicionales (opcional) , ingrese uno o más nombres de recursos y las cadenas para ingresar en los campos de texto correspondientes.
Errores de entrada de texto predefinido {:#predefinido-text}
La prueba Robo busca campos EditText
con un nombre de recurso de Android que coincida con una expresión regular proporcionada. Si Robo no puede encontrar un campo coincidente, no ingresa su texto, pero continúa rastreando como de costumbre.
Enlaces profundos
Puede proporcionar hasta tres enlaces profundos admitidos por su aplicación para realizar pruebas. Los enlaces profundos se emiten a su aplicación como intents ACTION_VIEW
de Android. Por lo tanto, cada enlace debe coincidir con un filtro de intención en su aplicación.
Si se proporcionan uno o más enlaces profundos, la aplicación primero se inicia normalmente (usando la intención ACTION_MAIN
) y se rastrea hasta el tiempo de espera especificado. Después del rastreo principal, cada enlace profundo se rastrea durante 30 segundos adicionales cada uno.
Errores de enlace profundo
Si Robo test no puede encontrar una actividad que coincida con su enlace profundo, Test Lab ignora el enlace. Los problemas de enlaces profundos suelen ser el resultado de una discrepancia entre el enlace profundo proporcionado y su definición en su aplicación. Verifique tanto la URL proporcionada como su aplicación para detectar errores tipográficos u otras inconsistencias.
Soporte de licencias de aplicaciones
Test Lab admite aplicaciones que utilizan el servicio App Licensing ofrecido por Google Play. Para verificar correctamente la licencia al probar su aplicación con Test Lab, debe publicar su aplicación en el canal de producción en Play Store. Para probar su aplicación en el canal alfa o beta usando Test Lab, elimine la verificación de licencia antes de cargar su aplicación en Test Lab.
Próximos pasos
- Personalice sus pruebas utilizando scripts Robo .