Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Ejecutar una prueba Robo

Organiza tus páginas con colecciones Guarda y categoriza el contenido según tus preferencias.

Robo test es una herramienta de prueba que está integrada con Firebase Test Lab. La prueba Robo 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 de 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 usar 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 bloqueos de la aplicación. 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 regulares de Robo, puede personalizar sus pruebas utilizando scripts de Robo, que son una característica de las pruebas de Robo. Para obtener más información, consulte Ejecutar un script de Robo .

Estadísticas de rastreo de prueba 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 las acciones de script de Robo, las acciones de mono y las 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 usa las estadísticas para crear una representación visual de la prueba Robo en forma de un gráfico de rastreo. El gráfico tiene pantallas como nodos y acciones como bordes. Al seguir los bordes entre las pantallas, puede hacerse una idea de cómo la prueba Robo atravesó su aplicación durante el rastreo.

Tiempo de espera de prueba de Robo

Según 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 interfaz de usuario. Recomendamos establecer 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 las aplicaciones moderadamente complejas. El valor predeterminado para el 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 aplicación

Si su aplicación tarda mucho en iniciarse, la prueba Robo puede arrojar un error y no podrá rastrear su aplicación. Esto solo sucede en casos de tiempo de inicio extremadamente largo y solo se puede resolver revisando su aplicación para que se inicie más rápido.

Más control con los scripts de Robo

A veces necesita más control sobre sus pruebas. Por ejemplo, es posible que desee probar un viaje de usuario común o proporcionar una entrada de interfaz de usuario específica, como un nombre de usuario y una contraseña. Los scripts de 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 Robo y widgets de UI que no son de Android

Las pruebas Robo utilizan la API de Android para realizar acciones en los widgets de la interfaz de usuario de Android directamente. 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 a fin de ejecutar pruebas en ella.

Si una pantalla en su aplicación no usa widgets de UI de Android, las pruebas de Robo recurren a Monkey Actions para probar esa pantalla. A diferencia de las acciones de prueba más metódicas de Robo, las acciones de mono simplemente simulan eventos de toque en ubicaciones semialeatorias en la pantalla de un dispositivo.

Para probar mejor las pantallas que no usan widgets de la interfaz de usuario de Android, puede reemplazar los toques arbitrarios de una acción de mono con un conjunto de toques e interacciones con secuencias de comandos a través de Firebase Test Lab Game Loop Tests .

Integración con Google Play

Puede usar la prueba Robo en Google Play Console cuando cargue y publique el archivo APK de su aplicación usando 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 .

Probar el inicio de sesión de la cuenta y la entrada de texto predefinida

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 otras entradas de texto predefinidas, Robo test puede ingresar texto en los campos EditText en su aplicación. Para cada cadena, debe identificar el campo EditText con un nombre de recurso de Android. Para obtener más información, consulte Acceso a los recursos .

Iniciar sesión

La prueba Robo 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:

  1. En la página Seleccionar dimensiones , elija Opciones adicionales .

  2. 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 para 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:

  1. En la página Seleccionar dimensiones , elija Opciones adicionales .

  2. 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 predefinidos

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, sino que continúa rastreando como de costumbre.

Puede proporcionar hasta tres enlaces profundos compatibles con su aplicación para realizar pruebas. Los enlaces profundos se emiten a su aplicación como intentos de Android ACTION_VIEW . 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.

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 en busca de errores tipográficos u otras inconsistencias.

Soporte de licencias de aplicaciones

Test Lab admite aplicaciones que utilizan el servicio de licencias de aplicaciones que ofrece Google Play. Para comprobar correctamente las licencias 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 mediante Test Lab, elimine la verificación de licencia antes de cargar su aplicación en Test Lab.

Problemas conocidos

La prueba Robo actualmente tiene las siguientes limitaciones conocidas:

  • Compatibilidad con el marco de trabajo de la interfaz de usuario: la prueba de Robo solo es compatible con aplicaciones que usan elementos de la interfaz de usuario del marco de trabajo de la interfaz de usuario de Android (incluidos los objetos View y ViewGroup , pero no los objetos WebView ). Si usa la prueba Robo para probar aplicaciones que usan otros marcos de interfaz de usuario, incluidas las aplicaciones que usan el motor de juego Unity, la prueba puede salir sin explorar más allá de la primera pantalla.
  • Captchas de inicio de sesión: la prueba Robo no puede omitir las pantallas de inicio de sesión que requieren una acción adicional del usuario más allá de ingresar las credenciales para iniciar sesión, por ejemplo, completar un Captcha.

Próximos pasos