Ejecute un script Robo (Android)

Este documento describe cómo utilizar los scripts Robo , que son pruebas que automatizan las tareas manuales de control de calidad para aplicaciones móviles y permiten la integración continua (CI) y estrategias de prueba previas al lanzamiento. Por ejemplo, puede utilizar scripts de Robo para probar un recorrido de usuario común o proporcionar entradas específicas de la interfaz de usuario (UI), como un nombre de usuario y una contraseña. Los scripts Robo son una característica de la prueba Robo .

Con los scripts de Robo, te grabas caminando a través de un flujo de trabajo en tu aplicación y luego cargas esa grabación en la consola de Firebase para ejecutarla en las pruebas de Robo. Cuando ejecuta una prueba de Robo con un script adjunto, Robo primero recorre las acciones preescritas y luego explora la aplicación como de costumbre.

Los scripts de Robo utilizan Robo test como motor de prueba. En su forma más básica, un script Robo consta de una secuencia de acciones de la interfaz de usuario, como ingresar el texto "nombre de usuario" y luego tocar el botón Aceptar . Los scripts Robo también pueden incluir acciones como esperar a que aparezca un elemento, tocar en un punto específico dentro de un elemento y ejecutar comandos de shell de Android Debug Bridge ( adb ).

Los scripts Robo tienen las siguientes ventajas sobre los marcos de prueba tradicionales:

Capacidad Descripción
Muy robusto Los scripts Robo pueden tolerar importantes diferencias estructurales y de comportamiento entre las versiones de la aplicación y la debilidad de la misma.
Abierto Una vez que se completa un script de Robo, la prueba base de Robo puede hacerse cargo y continuar probando la aplicación. Este enfoque de prueba continua permite varios casos de uso clave. Por ejemplo, puede utilizar un script Robo para llevar una aplicación a un estado particular realizando un flujo de inicio de sesión personalizado.
grabable No es necesario codificar los scripts de Robo manualmente. Se pueden grabar utilizando la grabadora de scripts Robo en Android Studio. Crear o modificar scripts de Robo normalmente no requiere ningún conocimiento de desarrollo móvil.
Flexible Los scripts de Robo pueden interactuar con elementos de la interfaz de usuario no nativos que son comunes en los juegos.

Los scripts de Robo se activan condicionalmente durante una prueba de Robo, lo que permite a los usuarios aumentar el comportamiento de Robo, generalmente para lograr una mayor cobertura o apuntar a una funcionalidad específica. A diferencia de los marcos de prueba tradicionales, los scripts de Robo admiten lo siguiente:

  • Varias condiciones desencadenantes, por ejemplo, que el nombre de un paquete de aplicación en particular esté activo (o no) o que un elemento específico se muestre en la pantalla (o no).
  • Controles de ejecución, por ejemplo, un número máximo de ejecuciones, prioridad y etapa de rastreo relevante.
  • Tipos de acciones no convencionales (condicional, ignorar elementos, cerrar pantalla).

Le recomendamos que utilice scripts Robo siempre que sea posible porque se pueden mantener sin esfuerzo. Por ejemplo, puede utilizar un script Robo para hacer lo siguiente:

  • Navegue por flujos de trabajo importantes para llegar al núcleo de la funcionalidad de una aplicación. Por ejemplo, puede iniciar sesión, configurar el estado de una aplicación después del primer inicio y registrar un nuevo usuario.
  • Enfoque a Robo en una parte particular de una aplicación para aprovechar al máximo el tiempo de prueba de Robo. El script de Robo guía a Robo test para llegar a la parte relevante de una aplicación, donde Robo test reanuda un rastreo totalmente automatizado.
  • Lleve una aplicación a un estado o pantalla específicos para realizar un análisis, por ejemplo, para analizar un mensaje dentro de la aplicación, una política de privacidad o un nivel específico de un juego.
  • Realice una prueba de instrumentación de un extremo a otro, con o sin prueba de Robo, reanudando un rastreo completamente automatizado una vez que se complete el script de Robo.

Utilice funciones de script Robo más avanzadas para hacer lo siguiente:

  • Realice acciones antes de que Robo comience a rastrear la aplicación bajo prueba o después de que finalice un rastreo, por ejemplo, limpie los datos de la aplicación bajo prueba antes de un rastreo o cambie la configuración del dispositivo.
  • Cambiar aspectos del comportamiento de Robo durante un rastreo, en particular:
    • Haga que Robo ignore algunos widgets de la interfaz de usuario o pantallas de aplicaciones.
    • Proporcione una acción personalizada para que Robo la realice al retroceder desde una pantalla en particular.
    • Haga que Robo realice acciones específicas cada vez que se encuentre la pantalla de una aplicación en particular durante un rastreo.
  • Personaliza completamente cómo Robo realiza un rastreo. Por ejemplo, utilice una combinación de acciones condicionales y no condicionales para mantener la aplicación bajo prueba en segundo plano durante todo el rastreo, mientras realiza manipulaciones en el dispositivo y descarta cualquier cuadro de diálogo emergente que aparezca en el camino.

Tenga en cuenta que los scripts de Robo no reemplazan todo tipo de pruebas. Aún necesitas pruebas unitarias para detectar errores lógicos de bajo nivel en tu aplicación; Estas pruebas normalmente no requieren un entorno Android o iOS. Le recomendamos que complemente las pruebas de script de Robo con pruebas de instrumentación específicas que puedan tener afirmaciones específicas y detalladas sobre la lógica empresarial, que se expresan mejor en código.

Grabe un script Robo usando Test Lab en Android Studio

La grabadora de secuencias de comandos Robo en Android Studio le permite grabar secuencias de comandos Robo interactuando directamente con la aplicación en su dispositivo. Siga estas instrucciones para comenzar con las secuencias de comandos Robo a través de la herramienta Firebase en Android Studio:

  1. Abra Android Studio y seleccione Herramientas -> Firebase .

  2. En el panel de Firebase, haga clic en Grabar script de Robo y usarlo para guiar la prueba de Robo .

  3. Haga clic en Grabar secuencia de comandos de Robo . Aparece el cuadro de diálogo Seleccionar destino de implementación.

  4. Seleccione el dispositivo en el que desea grabar el script Robo.

  5. Después de grabar el script Robo en el dispositivo, guarde el archivo como un archivo JSON en la ubicación deseada.

  6. Abra la página Test Lab en Firebase console y cargue el archivo de script JSON y el APK de la aplicación.

  7. Haga clic en el botón Continuar . Se le solicitará que seleccione el dispositivo y el nivel de API. Una vez que se completa el script de prueba, Test Lab genera el informe de prueba.

  8. (Opcional) Para copiar o descargar el logcat del informe de prueba y el video, haga clic en Ver archivos fuente .

De forma predeterminada, los mecanismos de solidez del script Robo evitan que falle antes de tiempo. Si elige el modo de ejecución strict y un script de Robo falla en algún momento, Test Lab abandona todos los pasos posteriores del script y reanuda un rastreo de Robo normal. La mayoría de las veces, los scripts de Robo fallan porque Robo no puede encontrar un elemento requerido en la pantalla. Para evitar fallas, asegúrese de que la navegación de su aplicación sea predecible y que sus pantallas se muestren en un orden determinista.

Ejecute un script Robo en Test Lab

Para ejecutar un script Robo en Test Lab, siga estas instrucciones:

  1. Abra la página Test Lab en Firebase console.

  2. Cargue el APK o AAB de la aplicación en el campo App APK o AAB .

  3. Cargue su archivo de secuencia de comandos Robo grabado o creado manualmente en el campo Escritura Robo (opcional) .

Proporcionar un script de Robo para una ejecución de prueba de Robo local

Para proporcionar un script de Robo a una ejecución de prueba de Robo local, utilice la siguiente opción de prueba de Robo:

--robo-script-file <robo-script-path>

Reemplace <robo-script-path> con una ruta a su archivo de script Robo en el sistema de archivos local. Siga las instrucciones para una prueba local de Robo .

Especificar una secuencia de comandos Robo en una invocación de prueba de la CLI de gcloud

Para especificar una secuencia de comandos Robo en una invocación de prueba de la CLI de gcloud, use la siguiente marca de la CLI de gcloud:

--robo-script = <robo-script-path>

Reemplace <robo-script-path> con una ruta a su archivo de script Robo en el sistema de archivos local o en Cloud Storage usando la notación gs:// . Por ejemplo:

gcloud firebase test android run --app = <path_to_app_apk_file> --robo-script = <robo-script-path>

Próximos pasos