Recorridos para Android Studio

Journeys for Android Studio aprovecha las capacidades de visión y razonamiento de la IA para navegar y probar tu app según tus instrucciones en lenguaje natural. Tu conjunto de instrucciones, llamado recorrido, se convierte en acciones que la IA realiza en tu app. Además, puedes escribir y describir aserciones más complejas, que la IA evalúa en función de lo que ve en el dispositivo.

Son los viajes para Android Studio.
Rutas de aprendizaje para Android Studio.

Además, como Gemini razona sobre qué acciones realizar para satisfacer los objetivos, los recorridos son más resistentes a los cambios sutiles en el diseño o el comportamiento de tu app, lo que genera menos pruebas inestables cuando se ejecutan en diferentes versiones de tu app y diferentes configuraciones de dispositivos.

Puedes escribir y ejecutar recorridos directamente desde Android Studio o desde la línea de comandos en cualquier dispositivo local o remoto con Android. El IDE proporciona una nueva experiencia de editor para crear recorridos, así como resultados enriquecidos que te ayudan a comprender mejor el razonamiento de Gemini y la ejecución de tu recorrido.

Escribe un viaje

Android Studio proporciona una plantilla de archivo y una nueva experiencia de editor que facilita la creación y edición de recorridos. Los viajes se escriben con la sintaxis XML para organizar la descripción y los pasos del viaje.

El editor de viajes en Android Studio, que muestra un archivo XML con pasos del viaje.

Para crear y comenzar a editar un recorrido, haz lo siguiente:

  1. En el panel Project de Android Studio, haz clic con el botón derecho en el módulo de la app para el que deseas escribir un recorrido.
  2. Selecciona New > Test > Journey File.
  3. En el diálogo que aparece, proporciona el nombre y la descripción de tu recorrido.

    Un diálogo en Android Studio que usas para crear un archivo de viaje.
    Un diálogo en Android Studio que usas para crear un archivo de recorrido.

  4. Haz clic en Finish. Android Studio crea un archivo XML para tu viaje con el nombre que elegiste. Puedes usar la vista Code para editar el XML directamente o la vista Design para una experiencia de edición simplificada.

  5. Cuando veas tu recorrido en la vista Diseño, usa el campo de texto para describir cada paso del recorrido. Cada paso puede incluir acciones descriptivas que quieres que Gemini realice o aserciones que quieres que Gemini evalúe.

  6. Presiona Intro en el teclado para comenzar un nuevo paso en el mismo recorrido. Puedes repetir este paso según sea necesario para cada etapa del recorrido que desees definir.

Sugerencias para escribir viajes

Si bien la IA es capaz de comprender la mayoría de los pasos escritos en los idiomas admitidos, seguir estas sugerencias para escribir recorridos puede generar resultados más precisos y esperados:

  • Supón que tu app ya está en primer plano: Ejecutar un viaje inicia automáticamente tu app. Los pasos del viaje deben comenzar después de que la app se haya iniciado por completo. Es decir, no es necesario que incluyas "iniciar la app" como un paso.
  • Usa un lenguaje inequívoco: Ser preciso minimiza las malas interpretaciones y mejora la confiabilidad.
En lugar de Qué hacer
"Selecciona el botón de descarte". "Presiona 'Descartar'" o simplemente "Descartar".
"Escribe 'apio'". "Escribe 'apio' en la barra de búsqueda que se encuentra en la parte superior de la pantalla principal".
"Desliza para descartar" “Desliza el dedo hacia la izquierda para descartar la tarjeta, que ya no debería estar visible”
  • Incluye los criterios de éxito como parte del paso: Esto ayuda a Gemini a comprender mejor tu intención y aclara cuándo se completa la acción y cuándo puede comenzar la siguiente.
En lugar de Qué hacer
"Selecciona el botón de enviar". "Presiona el botón de enviar para enviar el correo electrónico. Esto debería cerrar el correo electrónico y volver a llevarte a la bandeja de entrada".
“Ir al carrito de compras” "Presiona el ícono del carrito de compras, que te llevará a la página del carrito. Verifica que contenga cero elementos".
"Haz clic en el primer video". "Haz clic en el primer video y espera a que se cargue por completo".
  • Cómo definir mejor tu viaje: Si tu viaje no se ejecuta como esperabas, puedes ver los resultados y revisar la sección "Acción tomada" y la "Justificación" correspondiente para comprender por qué Gemini podría no haber ejecutado los pasos como esperabas. Usa esta información para brindar mayor claridad a tus instrucciones.
  • Divide tu recorrido en pasos más específicos: Si bien la IA puede interpretar pasos de varias acciones, a veces, los pasos discretos más detallados pueden mejorar la precisión y la reproducibilidad del recorrido.
    • "Error: Could not successfully complete the action in max allowed attempt": Si te encuentras con este error, intenta dividir los pasos que fallan en dos o más pasos más pequeños. Esto se debe a que este error se produce si la IA no puede completar la acción después de intentar una cantidad máxima de interacciones con tu app.

Funciones compatibles y no compatibles

A continuación, se incluye una descripción general de las capacidades admitidas y las que aún no se admiten por completo cuando se escriben Journeys. Las siguientes listas no son exhaustivas.

Las siguientes acciones son compatibles en los recorridos:

  • Presiona elementos de la IU.
  • Escribe para ingresar texto en los campos de texto.
  • Desliza o desplázate en una dirección determinada para navegar por la IU.

Por el momento, las siguientes capacidades no son totalmente compatibles o pueden tener un rendimiento inconsistente:

  • Gestos con varios dedos (por ejemplo, pellizcar para hacer zoom): Interacciones que requieren dos o más puntos de contacto en la pantalla de forma simultánea, como pellizcar para acercar o alejar el zoom, o deslizar el dedo con dos dedos.
  • Mantener presionado: Mantener el dedo presionado durante un período más largo que un toque estándar
  • Presionar dos veces: Presionar rápidamente la misma ubicación en la pantalla dos veces en rápida sucesión.
  • Rotación o plegado de la pantalla: Controla los cambios en la orientación del dispositivo (por ejemplo, entre vertical y horizontal) o el estado físico de los dispositivos plegables (por ejemplo, abrir o cerrar).
  • Memoria: Retener y recordar información específica, contexto o entradas del usuario en interacciones o pasos anteriores.
  • Recuento: Realiza un seguimiento preciso de las cantidades, las frecuencias o el progreso.
  • Sentencias condicionales: Ejecutan acciones según si se cumplen otras condiciones especificadas.

Las funciones y capacidades mejoran constantemente. Te sugerimos que consultes esta página más adelante para obtener información sobre las funciones y capacidades adicionales. Comparte tus comentarios para ayudarnos a mejorar Viajes.

Ejecuta tu viaje

Puedes ejecutar tu recorrido en cualquier dispositivo local o remoto disponible, de manera similar a cualquier otra prueba de instrumentación, y Android Studio generará resultados enriquecidos que te ayudarán a comprender la ejecución de tu recorrido.

Para probar un recorrido, haz lo siguiente:

  1. Selecciona un dispositivo de destino en la barra de herramientas principal, como lo harías cuando ejecutas una prueba instrumentada.
  2. Navega al archivo XML del viaje que deseas probar y ábrelo en el editor.
  3. En el editor, realiza una de las siguientes acciones:
    1. Si estás en la vista Diseño, haz clic en Ejecutar recorrido.
    2. Si estás en la vista Código, haz clic en Ejecutar "prueba" (Run "test") en el margen junto a donde se define el nombre del viaje en el XML.

Android Studio crea una configuración de Prueba de Journeys para ti y la ejecuta en el dispositivo de destino. Durante la ejecución, Android Studio compila e implementa tu app, y se conecta a Gemini para determinar qué acciones realizar en cada paso de tu recorrido.

El panel de resultados de la prueba de recorrido en Android Studio, que muestra los detalles de los pasos y el razonamiento de Gemini.
El panel de resultados de la prueba de recorrido en Android Studio, que muestra detalles de los pasos y el razonamiento de Gemini.

Ejecuta recorridos en cualquier app preinstalada

Puedes ejecutar un recorrido en una app preinstalada en tu dispositivo de prueba. Esto es útil si quieres probar una versión de producción de tu app o si aún no la actualizaste al complemento de Android para Gradle 9.0.0 o una versión posterior.

  1. Abre o crea un proyecto nuevo que se haya actualizado al complemento de Android para Gradle 9.0.0 o una versión posterior.
  2. Escribe un viaje.
  3. Edita la configuración de ejecución para el recorrido y agrega las siguientes variables de entorno. Se crea automáticamente una configuración de ejecución cuando intentas ejecutar un recorrido desde Android Studio.
    • JOURNEYS_CUSTOM_APP_ID establece el ID del paquete de la app de destino.
  4. Ejecuta el viaje que editaste. Android Studio debería ejecutar los pasos del recorrido en la app de destino que especificaste.

Cómo ejecutar un recorrido desde la línea de comandos

También puedes ejecutar un recorrido desde la línea de comandos como una tarea de Gradle.

Configuración

Deberás autenticarte en Google Cloud para usar Journeys desde la línea de comandos.

Nota: Estos pasos usan la CLI de gcloud para proporcionar credenciales de usuario, que podrían no aplicarse a todos los entornos de desarrollo. Para obtener más información sobre qué proceso de autenticación usar para tus necesidades, consulta Cómo funcionan las credenciales predeterminadas de la aplicación.

Para instalar Google Cloud CLI, sigue los pasos que se indican en la página sobre cómo instalar gcloud CLI.

Para las credenciales del usuario

Puedes autorizarlo de forma manual con el siguiente comando de la terminal:

gcloud auth application-default login

Para las credenciales de la cuenta de servicio

Si aún no lo hiciste, sigue la guía para crear credenciales de cuenta de servicio para tu proyecto.

  • Asegúrate de que la API de IAM Service Account Credentials esté habilitada para el proyecto en el que creaste las claves de la cuenta de servicio.
  • Asegúrate de que tu usuario administrador y tu cuenta de servicio tengan el permiso Service Account Token Creator.

Para autenticarte, ejecuta el siguiente comando:

gcloud auth application-default login --impersonate-service-account SERVICE_ACCOUNT_EMAIL

Ejecutar como una tarea de Gradle

Ejecuta Journeys ejecutando directamente la tarea de Gradle en la línea de comandos. Después de ejecutar la tarea, los resultados de las pruebas aparecerán en los registros y se generarán archivos de resultados de pruebas en formato HTML y XML.

Para ejecutar todos los viajes Puedes ejecutar todos los viajes en el conjunto de pruebas con el siguiente comando.

./gradlew :app:testJourneysTestDefaultDebugTestSuite

Para ejecutar un solo recorrido Usa JOURNEYS_FILTER para especificar el nombre del recorrido que deseas ejecutar, de la siguiente manera:

JOURNEYS_FILTER=your_journey_name.journey.xml ./gradlew :app:testJourneysTestDefaultDebugTestSuite

Para ejecutar todos los recorridos en un subdirectorio Establece JOURNEYS_FILTER en el nombre del subdirectorio. Por ejemplo, el siguiente comando ejecuta todos los viajes en el subdirectorio home dentro del directorio raíz del conjunto de pruebas.

JOURNEYS_FILTER=home ./gradlew :app:testJourneysTestDefaultDebugTestSuite

Ver los resultados

Cuando Android Studio complete la prueba de tu recorrido, aparecerá automáticamente el panel de resultados de la prueba para mostrarte los resultados.

El panel de resultados de la prueba de recorrido en Android Studio, que muestra los detalles de los pasos y el razonamiento de Gemini.
El panel de resultados de la prueba de recorrido en Android Studio, que muestra detalles de los pasos y el razonamiento de Gemini.

En comparación con otras pruebas instrumentadas que puedes ejecutar en Android Studio, existen algunas diferencias en la forma en que se muestran los resultados de los viajes.

  • El panel Pruebas desglosa el recorrido en pasos discretos. Puedes hacer clic en cada paso para obtener más información sobre cómo lo ejecutó Gemini.
  • El panel Resultados muestra información enriquecida para ayudarte a comprender cómo Gemini entendió y razonó tu viaje, y cómo se ejecutó.
    • Las capturas de pantalla que se enviaron a Gemini se muestran como ayuda visual en cada acción del paso.
    • Junto a cada captura de pantalla, se describe cada acción que se tomó y el razonamiento de Gemini para tomarla.
    • Cada acción del paso está numerada.

Problemas conocidos

  • Cuando pruebas un recorrido, se otorgan todos los permisos para tu app de forma predeterminada.
  • Cuando pruebes un recorrido en un dispositivo que ejecute Android 15 (nivel de API 35), es posible que veas una advertencia en el dispositivo que diga "Se bloqueó la app no segura" para "AndroidX Crawler". Puedes hacer clic en Instalar de todos modos para omitir esta verificación. Como alternativa, puedes configurar las opciones para desarrolladores en el dispositivo y, luego, inhabilitar la opción para verificar apps por USB.