Journeys para 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.
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 tecnología Android. El IDE proporciona una nueva experiencia de editor para crear recorridos, así como resultados enriquecidos que te ayudan a seguir mejor el razonamiento y la ejecución de tu recorrido por parte de Gemini.
Escribe un recorrido
Android Studio proporciona una plantilla de archivo y una nueva experiencia de editor que facilita la creación y edición de recorridos. Los recorridos se escriben con la sintaxis XML para organizar la descripción y los pasos del recorrido.
Para crear un recorrido y comenzar a editarlo, haz lo siguiente:
- 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.
- Selecciona New > Journey Test.
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 recorrido. Haz clic en Finish. Android Studio crea un archivo XML para tu recorrido 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.
Cuando veas tu recorrido en la vista Design, usa el campo de texto para describir cada paso del recorrido. Cada paso puede incluir acciones descriptivas que deseas que realice Gemini o aserciones que deseas que evalúe Gemini.
Presiona Enter en el teclado para iniciar un nuevo paso en el mismo recorrido. Puedes repetir esto según sea necesario para cada paso del recorrido que desees definir.
Cómo configurar variantes de compilación
Los recorridos se ejecutan en variantes de compilación específicas de tu app. Cuando creas un recorrido por primera vez con el asistente, el paquete de pruebas generado se configura para ejecutarse en la variante de compilación que está activa en Android Studio.
Sin embargo, si luego cambias la variante de compilación activa en Android Studio (por ejemplo, a una variante de producto diferente como demoDebug) sin actualizar la configuración, la ejecución del recorrido fallará. Para solucionar este problema, debes agregar la nueva
variante a la propiedad targetVariants en el bloque testSuites de tu
archivo build.gradle.kts (o build.gradle) a nivel del módulo.
Por ejemplo, para configurar el conjunto journeysTest para la variante demoDebug, haz lo siguiente:
android {
// ...
testSuites {
create("journeysTest") {
// ...
targetVariants += listOf("demoDebug")
}
}
}
Sugerencias para escribir recorridos
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 recorrido inicia automáticamente tu app. Los pasos del recorrido deben comenzar después de que la app se haya iniciado por completo. Es decir, no es necesario incluir "iniciar app" como un paso.
- Usa un lenguaje inequívoco: Ser preciso minimiza la interpretación errónea y mejora la confiabilidad.
| En lugar de | Qué hacer |
|---|---|
| "Selecciona el botón de descartar" | "Presiona 'Descartar'" o simplemente "Descartar". |
| "Escribe 'apio'" | "Escribe 'apio' en la barra de búsqueda en la parte superior de la pantalla principal". |
| "Desliza el dedo para descartar" | "Desliza el dedo hacia la izquierda para descartar. La tarjeta 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" | "Para enviar el correo electrónico, presiona el botón de envío. Esto debería cerrar el correo electrónico y volver a la bandeja de entrada". |
| "Ve al carrito de compras" | "Presiona el ícono de carrito de compras, que te llevará a la página del carrito de compras. 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". |
- Define mejor tu recorrido: Si tu recorrido no se ejecuta como se espera, puedes ver los resultados y revisar "Action Taken" y el "Reasoning" correspondiente para comprender por qué Gemini podría no haber ejecutado los pasos como esperabas. Usa esta información para proporcionar 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 encuentras este error, intenta dividir los pasos con errores 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.
Capacidades compatibles y no compatibles
Esta es una descripción general de las capacidades compatibles y aún no compatibles por completo cuando se escriben recorridos. Las siguientes listas no son exhaustivas.
Las siguientes acciones son compatibles con 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.
Las siguientes capacidades no son totalmente compatibles en este momento o pueden funcionar de manera incoherente:
- Gestos con varios dedos (por ejemplo, pellizcar para acercar) : Interacciones que requieren dos o más puntos de contacto en la pantalla de forma simultánea, como pellizcar para acercar o alejar, o deslizar el dedo con dos dedos.
- Mantener presionado : Presionar y mantener presionado un dedo durante un período más largo que una presión 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 : Controlar 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 recuperar información, contexto o entradas del usuario específicos en interacciones o pasos anteriores.
- Conteo : Realizar un seguimiento preciso de las cantidades, las frecuencias o el progreso.
- Instrucciones condicionales : Ejecutar acciones en función de 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. Para ayudarnos a mejorar Journeys, comparte tus comentarios.
Ejecuta tu recorrido
Puedes ejecutar tu recorrido en cualquier dispositivo local o remoto disponible, de manera similar a cualquier otra prueba de instrumentación, y Android Studio genera resultados enriquecidos que te ayudan a comprender la ejecución de tu recorrido.
Para probar un recorrido, haz lo siguiente:
- Selecciona un dispositivo de destino en la barra de herramientas principal, como lo harías cuando ejecutas una prueba de instrumentación.
- Navega al archivo XML del recorrido que deseas probar y ábrelo en el editor.
- En el editor, realiza una de las siguientes acciones:
- Si estás en la vista Design, haz clic en
Run Journey. - Si estás en la vista Code, haz clic en
Run 'test' en el medianil
junto a donde se define el nombre del recorrido en el XML.
- Si estás en la vista Design, haz clic en
Android Studio crea una configuración de Journeys Test 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 para cada paso del recorrido.
Ejecuta recorridos en cualquier app preinstalada
Puedes ejecutar un recorrido en una app preinstalada en tu dispositivo de prueba. Esto es útil si deseas 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.
- Abre o crea un proyecto nuevo que se actualice al complemento de Android para Gradle 9.0.0 o una versión posterior.
- Escribe un recorrido.
- Edita la configuración de ejecución para el
recorrido y agrega las siguientes variables de entorno. Se crea una configuración de ejecución automáticamente cuando intentas ejecutar un recorrido desde Android Studio.
- Establece
JOURNEYS_CUSTOM_APP_IDen el ID del paquete de la app de destino.
- Establece
- Ejecuta el recorrido que editaste. Android Studio debería ejecutar los pasos del recorrido en la app de destino que especificaste.
Ejecuta un recorrido desde la línea de comandos
Para ejecutar Journeys desde la línea de comandos, usa la CLI de Android.
Ver resultados
Cuando Android Studio completa la prueba de tu recorrido, el panel de resultados de la prueba aparece automáticamente para mostrarte los resultados.
En comparación con otras pruebas de instrumentación que puedes ejecutar en Android Studio, existen algunas diferencias en la forma en que se muestran los resultados de los recorridos.
- El panel Tests divide el recorrido en los pasos discretos. Puedes hacer clic en cada paso para obtener más información sobre cómo lo ejecutó Gemini.
- El panel Results muestra información enriquecida para ayudarte a comprender cómo Gemini entendió y razonó sobre tu recorrido, 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.
- Cada acción realizada y el razonamiento de Gemini sobre por qué realizó esa acción se describen junto a cada captura de pantalla.
- Cada acción del paso está numerada.
Problemas conocidos
Problemas con la caché de configuración de Gradle: Es posible que Journeys se comporte de forma inesperada cuando se habilita la caché de configuración de Gradle. Por ejemplo, esto puede hacer que se ejecute el archivo de recorrido incorrecto cuando hay varios archivos de recorrido presentes. También puede causar problemas de autenticación.
Para solucionar este problema, puedes inhabilitar la caché de configuración estableciendo
org.gradle.configuration-cache=falseen el archivogradle.propertiesde tu proyecto.Cuando se prueba 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 "Unsafe App Blocked" para "AndroidX Crawler". Puedes hacer clic en Install anyway para omitir esta verificación. Como alternativa, puedes configurar las opciones para desarrolladores integradas en el dispositivo y, luego, inhabilitar la opción para Verificar apps a través de USB.