Grabar el flujo
Realiza un recorrido una vez en una sesión alojada y deja que Autonomy redacte el caso de prueba a partir de él.
La grabación es la forma más rápida de crear un flujo largo. Realizas el recorrido una vez en un navegador que Autonomy aloja para ti, marcas comprobaciones conforme avanzas, y Autonomy convierte la traza capturada en pasos de intención que revisas antes de guardar.
Nada se reproduce. La grabación es entrada de creación — el agente sigue ejecutando el caso de prueba guardado de forma adaptativa contra lo que el producto muestre en tiempo de ejecución.
Disponibilidad
La grabación está disponible para sesiones alojadas en Web, iOS y Android. Cada plataforma usa una superficie de captura diferente:
- Web — un navegador headless aprovisionado en la infraestructura de Autonomy.
- iOS — un simulador de iOS iniciado en el host del runner, controlado a través de
agent-device. - Android — un emulador de Android iniciado en el host del runner, controlado a través de
agent-device.
Local Session — grabar en tu propia máquina a través del companion de Autonomy, que alcanza apps detrás de una VPN — está listado pero aún no se puede iniciar.
Iniciar una grabación
- Ve a Test Cases → New Test Case.
- Completa el paso 1 (Details): nombre, plataformas y el entorno al que pertenece el caso.
- En el paso 2 (Method), elige Record the flow y continúa.
- El paso 3 (Record) es la pantalla de configuración. Configura:
- Platform — Web, iOS o Android.
- Capture Surface — Hosted Session (recomendado).
- Para web: elige un entorno y una URL de inicio. El entorno proporciona la URL de inicio; anúlala en el campo, o deja ambos vacíos para empezar en una página en blanco. Elige un viewport (Desktop 1440×900, MacBook Pro 3024×1964 o iPhone 16 Pro 393×852).
- Para iOS/Android: elige un dispositivo iniciado del selector de dispositivos e introduce el bundle ID de la app (iOS) o el nombre del paquete (Android). El runner debe tener el dispositivo objetivo iniciado.
- Haz clic en Launch Hosted Session.
La sesión muestra Connecting… mientras se aprovisiona el navegador, y luego pasa a vivo.
Durante la sesión
Conduces la sesión alojada directamente en la página. Para sesiones web, cuatro herramientas se encuentran sobre el viewport. Para sesiones nativas, una barra de herramientas de gestos (Tap, Swipe, Long press) y botones de hardware (Back, Home, App switcher, Rotate, Keyboard) reemplazan al puntero de manipulación directa.
Barra de herramientas de aserciones
| Herramienta | Qué captura |
|---|---|
| Inspect | Selecciona un elemento y le adjunta una comprobación. Tab se mueve entre objetivos, Enter selecciona, Escape sale. Las aserciones disponibles dependen de lo que hayas seleccionado: Value equals, Is empty, Is enabled, Is visible, Is not present para inputs; Text equals, Text contains, Is visible, Is not present, URL contains para comprobaciones de texto y página. |
| Visual Compare | Marca la pantalla actual para comparación con una referencia. Adjunta la referencia después — consulta Comprobaciones visuales. |
| Validate Network | Marca una expectativa de red en este punto del flujo. |
| Add note | Registra una nota en lenguaje natural. Las notas se tratan como intención autoritativa durante la síntesis, así que úsalas para explicar por qué un paso importa. |
Aserta con el gesto, en el momento en que veas lo que quieres garantizar. Una comprobación capturada en contexto se convierte en un mejor paso que una añadida después de memoria.
Controles de la cabecera: Pause / Resume para dejar de capturar sin terminar la sesión, Discard (haz clic dos veces para confirmar) para descartar la grabación, y End & review para finalizar y sintetizar.
Inspector de elementos (todas las plataformas)
El panel Elements muestra un árbol de accesibilidad en vivo de la pantalla actual. En web refleja el DOM; en iOS y Android refleja la jerarquía de accesibilidad de la plataforma (por ejemplo, Button, Cell, NavigationBar en iOS). Úsalo para:
- Verificar los nombres y roles de los elementos antes de hacer aserciones sobre ellos.
- Buscar un elemento por texto o tipo con la barra de búsqueda.
- Hacer clic en un nodo para destacarlo en el marco del dispositivo y ver sus atributos (identifier, label, rect, estado de interactividad).
El árbol se actualiza automáticamente después de cada lote de entradas y se puede actualizar manualmente con el botón de recarga.
Estado del dispositivo
El panel Estado del dispositivo permite cambiar el estado del dispositivo durante una grabación: modo oscuro, ubicación, permisos, portapapeles, estado de la aplicación, y más. Ábralo desde la barra de herramientas sobre el viewport.
Cada cambio se captura como un evento device_state en la traza y se sintetiza en un paso Device State. La etiqueta del paso muestra la descripción legible (p. ej., "Cambiar a modo oscuro", "Conceder permiso de cámara").
Facetas soportadas
No todas las facetas funcionan en todas las plataformas. La tabla muestra lo verificado en los runtimes actuales:
| Faceta | iOS 26.5 | Android API 36 | Web |
|---|---|---|---|
| Apariencia (claro / oscuro) | ✅ | ✅ | ✅ |
| Ubicación | ✅ | ✅ | ✅ |
| Red (modo avión / wifi) | ✅ | ✅ Solo Wi-Fi (modo avión bloqueado) | ✅ |
| Animaciones | ❌ | ✅ | ✅ |
| Permiso (la mayoría) | ✅ | ✅ | ❌ (sin comando CLI) |
| Permiso (cámara, notificaciones) | ❌ simctl rechaza | ✅ | ❌ |
| Denegar permiso | ✅ | ✅ | ❌ |
| Biométrico | ❌ | ✅ (solo huella) | ❌ |
| Estado de la app (instalación limpia) | ✅ desinstalar+reinstalar* | ✅ pm clear | ✅ limpiar almacenamiento |
| Portapapeles | ✅ | ❌ API 36 | ✅ |
| Notificación push | ✅ | ✅ | ❌ |
| Multimedia (biblioteca de fotos) | ✅ | ✅ | ❌ |
* En iOS, limpiar el estado de la app desinstala y reinstala la aplicación. Las apps del sistema no se pueden limpiar. Después de la limpieza, la app desaparece — cualquier paso siguiente debe relanzarla. En Android, el modo avión no está soportado en la API 36 pero la conmutación de Wi-Fi funciona correctamente. Los permisos en Web no están soportados en absoluto ya que no existe un comando CLI correspondiente.
El panel deshabilita las opciones no soportadas en la plataforma actual y muestra la razón específica. Si intentas ejecutar un caso de prueba con una precondición de estado de dispositivo no soportada, la ejecución falla con un error claro — nunca se omite silenciosamente.
Identidad de prueba
Cada sesión de grabación se aprovisiona con una identidad desechable para que los flujos de registro e inicio de sesión funcionen sin tocar cuentas reales.
- Email se aprovisiona automáticamente y es gratuito. El panel muestra la dirección, la copia al hacer clic y muestra los mensajes entrantes en línea — incluido el OTP — para que puedas completar un paso de verificación sin salir de la sesión.
- SMS no se aprovisiona automáticamente. Los números receptores son escasos y tienen coste, así que el panel muestra Get SMS number y alquila uno a demanda del proveedor de SMS configurado en tu organización. El alquiler se libera cuando la sesión termina.
Si un formulario solo quiere dígitos en un campo de teléfono, no necesitas un alquiler. Déjalo a la política de relleno del agente en tiempo de ejecución y reserva los alquileres para flujos que realmente reciben un código.
De la grabación a los pasos
Cuando haces clic en End & review, la grabación pasa a synthesizing. Autonomy lee la traza capturada y redacta pasos usando el vocabulario estándar de pasos. Sus reglas:
- Cada comprobación que marcaste se convierte en un paso
Assert,Visual CompareoValidate Network. Las comprobaciones nunca se eliminan. - Los campos de tipo credencial (email, contraseña, OTP, código de verificación) se convierten en valores elegidos por el agente en lugar del literal que escribiste.
- Los campos que rellenaste desde configuración del entorno mantienen la forma
{{env.VAR_NAME}}. - Los objetivos que contienen números o símbolos de moneda se describen en lugar de citarse, por lo que
Pay $50.00se convierte enthe checkout button. - Las navegaciones repetidas a la misma URL se fusionan en un solo paso.
- El contexto ambiental de la página se descarta; tus notas se conservan y tienen prioridad sobre el detalle de captura sin procesar.
- Los verbos nativos tienen en cuenta la plataforma: los toques en iOS dicen "Tapped", los clics en web dicen "Clicked".
La grabación alcanza entonces drafted y el asistente avanza al paso 4 (Steps), donde los pasos redactados aparecen en el editor con la grabación disponible en un panel lateral como referencia. Edita, reordena y elimina libremente, luego continúa a Review y guarda.
Exportar
Tras la síntesis, los pasos redactados se pueden exportar desde el panel de origen en tres formatos:
| Formato | Archivo | Descripción |
|---|---|---|
| Autonomy JSON | .json | La lista canadónica de pasos con metadatos completos. Se puede volver a importar en Autonomy. |
| Maestro YAML | .yaml | Un archivo de flujo compatible con Maestro para equipos que migran desde Maestro o comparan contra él. |
| Playwright Script | .spec.ts | Un script de prueba ejecutable de Playwright con selectores estilo page-object. |
Haz clic en Export para descargar el archivo, o usa el botón de copiar junto a cada formato para copiar el contenido al portapapeles.
Notas prácticas
- Nada se guarda como caso de prueba hasta que completas el asistente. Discard termina la sesión y no conserva nada.
- Volver a grabar es más barato que reparar una traza mala. Si el recorrido salió mal a mitad de camino, descarta y empieza de nuevo.
- Mantén una grabación para un recorrido. Las sesiones largas que recorren varios flujos sintetizan listas de pasos que nadie quiere revisar.
- Las sesiones nativas son monoinquilino: solo una sesión por dispositivo a la vez. Si el panel muestra una sesión obsoleta, ciérrala desde el panel de sesiones antes de iniciar una nueva.
Solución de problemas
La sesión nunca pasa a vivo
Web: Confirma que la URL de inicio es accesible desde internet. Una sesión alojada no puede alcanzar localhost, una IP privada ni un host solo accesible por VPN. Usa una URL de despliegue de previsualización o de staging, o espera a que esté disponible el soporte de Local Session.
iOS/Android: Confirma que el dispositivo objetivo está iniciado y que el host del runner tiene agent-device en el PATH. Comprueba agent-device list --platform ios --json (o android) para verificar que el dispositivo aparece como iniciado.
El OTP nunca aparece en el panel de identidad
El producto debe enviar a la dirección aprovisionada, así que pega la dirección del panel en lugar de escribir una de memoria. Si el mensaje tarda, espera en la sesión en lugar de terminarla — el panel se actualiza en vivo.
Los pasos redactados no incluyen una comprobación que hice
Las comprobaciones solo se capturan a través de la barra de herramientas. Hacer clic para verificar algo visualmente no registra una aserción. Vuelve a grabar la sección y usa Inspect en el momento de la comprobación.
Los pasos redactados contienen una contraseña literal
La síntesis reescribe los campos de tipo credencial cuando puede identificarlos. Si un campo es inusual, edita el paso y reemplaza el valor con una instrucción de elección del agente antes de guardar.