Ejecuta una prueba Robo (Android)

La prueba Robo es una herramienta de pruebas integrada en Firebase Test Lab. Analiza la estructura de la interfaz de usuario (IU) de tu app, la explora metódicamente y simula las actividades de un usuario de forma automática. Siempre simula las mismas actividades del usuario en el mismo orden cuando la usas para probar una app en una configuración del dispositivo específica con los mismos ajustes. Este enfoque de prueba repetible te permite usar la prueba Robo a fin de validar correcciones de errores y probar regresiones.

La prueba Robo captura los archivos de registro, guarda una serie de capturas de pantalla con anotaciones y crea un video a partir de las capturas de pantalla para mostrarte las operaciones que realizó el usuario simulado. Estos registros, capturas de pantalla y videos pueden ayudarte a determinar la causa raíz de las fallas de la app. Estas funciones de prueba de Robo también pueden ayudarte a encontrar problemas con la IU de tu app.

Además de ejecutar pruebas Robo normales, puedes personalizar tus pruebas con secuencias de comandos de Robo, que son una función de las pruebas Robo. Para obtener más información, consulta Ejecuta una secuencia de comandos de Robo.

Si quieres probar la versión beta de Robo para iOS+, consulta Ejecuta una prueba Robo.

Estadísticas de rastreo de la prueba Robo

Para ayudarte a interpretar los resultados de tu prueba Robo, la prueba de Robo graba estadísticas durante cada rastreo de prueba. Test Lab muestra las estadísticas en la parte superior de la pestaña de prueba Robo en la página de resultados de tu prueba:

  • Acciones: la cantidad total de acciones realizadas durante el rastreo, incluidas las acciones de secuencias de comandos de Robo, acciones semialeatorias y directivas de Robo

  • Actividades: La cantidad de actividades distintas cubiertas durante el rastreo

  • Pantallas: la cantidad de pantallas distintas que se revisaron durante el rastreo.

Test Lab también usa las estadísticas para crear una representación visual de la prueba de Robo en forma de un gráfico de rastreo. El gráfico tiene pantallas como sus nodos y acciones como sus perímetros. Si sigues los perímetros entre pantallas, puedes tener una idea de cómo la prueba de Robo recorrió tu app durante todo el rastreo.

Tiempo de espera de la prueba Robo

Según la complejidad de la IU de tu app, la prueba Robo podría tardar cinco minutos o más en completar un conjunto meticuloso de interacciones de IU. Te recomendamos establecer el tiempo de espera de la prueba en al menos 120 segundos (2 minutos) para la mayoría de las apps, y en 300 segundos (5 minutos) para las apps de complejidad moderada. El valor predeterminado del tiempo de espera es de 300 segundos (5 minutos) para las pruebas que se ejecutan desde Android Studio y Firebase console, y de 900 segundos (15 minutos) para las pruebas que se ejecutan desde la línea de comandos de gcloud.

Errores de tiempo de espera de inicio de la app

Si tu app tarda mucho tiempo en iniciarse, la prueba Robo puede arrojar un error y no podrá rastrearla. Esto solo ocurre en casos en los que el tiempo de inicio es extremadamente largo y solo puede resolverse si revisas tu app para que se inicie más rápido.

Más control con las secuencias de comandos de Robo

A veces, necesitas más control sobre tus pruebas. Por ejemplo, es posible que quieras probar un recorrido de usuario común o proporcionar una entrada específica en la IU (p. ej., un nombre de usuario y una contraseña). Las secuencias de comandos de Robo pueden ayudarte. Para obtener más información sobre las secuencias de comandos de Robo, consulta Ejecuta una secuencia de comandos de Robo y la Guía de referencia de secuencias de comandos de Robo.

Pruebas Robo y widgets sin la IU de Android

Las pruebas Robo usan la API de Android para realizar acciones en los widgets con la IU de Android directamente. Esto ayuda a que las pruebas exploren tu IU automáticamente, pero también significa que tendrán que poder extraer una jerarquía de IU de Android de una pantalla con el fin de ejecutar pruebas en ella.

Si una pantalla en tu app no usa los widgets con la IU de Android, las pruebas Robo se apoyarán en las acciones de prueba semialeatorias para probar esa pantalla. A diferencia de las acciones más metódicas de Robo, las acciones de prueba semialeatorias simplemente simulan eventos de presión en ubicaciones semialeatorias en la pantalla de un dispositivo.

Para probar mejor las pantallas que no usan widgets con la IU de Android, puedes reemplazar los toques arbitrarios de una acción semialeatoria con un conjunto de interacciones y toques definidos a través de las pruebas de bucle de juego de Firebase Test Lab.

Integración con Google Play

Puedes usar la prueba Robo en Google Play Console cuando subes y publicas el archivo APK de la app con el canal Alpha o el Beta. La prueba Robo se ejecuta en un conjunto común de dispositivos físicos desde diferentes ubicaciones geográficas, por lo que se realiza en varios factores de forma y configuraciones de hardware. Para obtener más información, consulta Cómo usar los informes previos al lanzamiento para identificar problemas.

Prueba el acceso a la cuenta y la entrada de texto predefinida

La prueba Robo admite el acceso de cuentas de prueba y te permite ingresar texto predefinido en los campos de tu app. En el caso del acceso personalizado y de otros ingresos de texto predefinido, la prueba Robo puede ingresar texto en los campos EditText de tu app. Para cada string, deberás identificar el campo EditText mediante un nombre de recurso de Android. Para obtener más información, consulta cómo acceder a los recursos.

Acceso

La prueba Robo tiene dos métodos mutuamente exclusivos para admitir el acceso:

  • Acceso personalizado: Si proporcionas las credenciales de una cuenta de prueba, debes indicarle a la prueba Robo dónde ingresarlas.

  • Acceso automático: Si la app tiene una pantalla de acceso que usa una Cuenta de Google para la autenticación, la prueba Robo usa una cuenta de prueba de Google, a menos que proporciones las credenciales de una cuenta de prueba para el acceso personalizado.

Para proporcionar las credenciales de una cuenta de prueba para el acceso personalizado, haz lo siguiente:

  1. En la página Selecciona las dimensiones, elige Opciones adicionales.

  2. En Credenciales de cuenta de prueba (opcional), ingresa los nombres de los recursos de nombre de usuario y contraseña, así como el nombre de usuario y la contraseña de la cuenta de prueba.

Entrada de texto predefinida

Puedes proporcionar un texto de entrada personalizado para otros campos de texto adicionales que usa tu app. Para ello, haz lo siguiente:

  1. En la página Selecciona las dimensiones, elige Opciones adicionales.

  2. En Campos adicionales (opcional), ingresa uno o más nombres de recursos y las strings que se ingresarán en los campos de texto correspondientes.

Errores de entrada de texto predefinida {:#restricted-text}

La prueba Robo busca los campos EditText que tengan un nombre de recurso de Android que coincida con una expresión regular proporcionada. Si Robo no puede encontrar un campo coincidente, no podrá ingresar tu texto, pero continuará con el rastreo como de costumbre.

Puedes proporcionar hasta tres vínculos directos compatibles con tu app para las pruebas. Los vínculos directos se emiten a tu app en forma de intents ACTION_VIEW de Android. Por lo tanto, cada vínculo debe coincidir con un filtro de intents de la app.

Si se proporcionan uno o más vínculos directos, la app se inicia de forma normal primero (con el intent ACTION_MAIN) y se rastrea hasta el tiempo de espera especificado. Después del rastreo principal, cada vínculo directo se rastrea por 30 segundos más.

Si la prueba Robo no puede encontrar una actividad que coincida con tu vínculo directo, Test Lab ignora el vínculo. Los problemas de vínculos directos, en general, son el resultado de una discrepancia entre el vínculo directo proporcionado y su definición incluida en tu app. Revisa tanto la URL proporcionada como tu app para ver si hay errores tipográficos o cualquier otra discrepancia.

Compatibilidad con App Licensing

Test Lab admite apps que usan el servicio de App Licensing que ofrece Google Play. Si quieres comprobar correctamente las licencias cuando pruebas la app con Test Lab, debes publicar la app en el canal de producción de Play Store. Para probarla en el canal alfa o beta mediante Test Lab, quita la comprobación de licencias antes de subir la app a Test Lab.

Próximos pasos