Empieza gratis
Testing E2E · con evidencia

Tus tests pasan.
¿Probaron algo?

Oráculo graba el flujo, lo corre por ti y te devuelve la prueba de cada paso.

oraculo · checkout-completo · run #12840 / 5 pasosSUCCESS · evidencia débil
  1. 01Abrir /checkout con la sesión guardada0.9s
  2. 02Aplicar el cupón LATAM201.4s
  3. 03Pagar con la tarjeta terminada en 44170.7s
  4. 04Confirmar y esperar el número de ordenno estabilizó2.1s
  5. 05Verificar el correo de confirmación1.2s
El problema

Los dos dicen verde.
Solo uno probó algo.

busqueda-catalogoSUCCESS
  • 01Abrir el catálogo
  • 02Buscar “polo negro”
  • 03Verificar que hay 12 resultados
  • 04Abrir el primero y verificar el precio
4 capturas3 aserciones4/4 estables
busqueda-catalogo-v2SUCCESS · evidencia débil
  • 01Abrir el catálogo
  • 02Buscar “polo negro”
  • 03Esperar 3 segundos
  • 04Hacer clic en el primer resultado
2 capturas0 aserciones2/4 estables

El segundo nunca verificó nada: esperó tres segundos, hizo clic y terminó. Para cualquier herramienta es un verde. Para Oráculo es un verde marcado.

El producto

No te lo contamos.
Míralo funcionando.

grabando · checkout-completo0 pasos
nordia.demo/checkout
Checkout de la tienda Nordia durante la grabación
  1. Navegaa /checkoutpage.goto('/checkout')
  2. Completael cupóngetByLabel('Cupón').fill('LATAM20')
  3. Haz clicken «Aplicar»getByRole('button', { name: 'Aplicar' })
  4. Verificael totalexpect(getByText('S/ 336')).toBeVisible()
Variantes con IA

Grabas uno.
Prueba los que hagan falta.

grabado por ticheckout-completo9 pasos · 1 happy path→ 18 variantes generadas

La IA deriva variantes en siete categorías. Cuántas salgan de cada una depende de tu flujo: un formulario con doce campos da muchas más que un login.

  • HAPPYEl camino feliz

    El flujo tal como lo grabaste.

    se espera que pasa
  • BOUNDARYValores al límite

    Monto máximo, fecha extrema, campo al tope.

    se espera que pasa
  • FORMATFormato inválido

    Correo mal escrito, documento con largo incorrecto.

    se espera que la app rechaza
  • EMPTYObligatorios vacíos

    Envío del formulario sin completar lo requerido.

    se espera que la app rechaza
  • SECURITYInyección y accesos ajenos

    Payloads de inyección, IDs de otro usuario.

    se espera que la app bloquea
  • COMBINATORIALCombinaciones

    Cruces de campos que a mano nadie prueba.

    se espera que pasa
  • RESILIENCEChaos: la infra falla

    La red cae, la API responde 500 o tarda.

    se espera que degrada con gracia
FORMAT · correo inválidoMATCH
resultadoFAILED
veredictocorrecto

Esta variante falló y está bien: esperábamos que la app rechazara el correo y lo rechazó. Oráculo no mide si pasó o falló — mide si tu app hizo lo que debía. Cuando no coincide, es MISMATCH, y ahí está el bug.

Así se ve el reporte que vas a recibir

Un reporte de Nordia · tienda de demostración, con 6 flujos y 83% de aprobación. Es el mismo formato que recibe cualquier cliente: una fila por flujo, con su evidencia y su duración.

Del ·3m 04s en total
Resultado por flujo de la última ejecución pública de Oráculo
FlujoResultadoEvidenciaDuración
Login con usuario válidoPasó7 capturas21s
Búsqueda y filtrosPasó11 capturas33s
Agregar al carritoPasó9 capturas29s
Checkout · correo inválidoEl formulario rechazó el correo, como se esperabaFalló como se esperaba6 capturas18s
Checkout · pago con tarjetaPasó14 capturas53s
Historial de pedidosPasó8 capturas30s

La cuarta fila es la que explica el producto: ese flujo falló y está bien. Era una variante que esperaba que el formulario rechazara un correo inválido, y lo rechazó. El veredicto es MATCH — la app hizo lo que debía.

El límite de la IA

La IA propone.
Tú firmas.

Cuando la interfaz cambia y un flujo se rompe, Oráculo analiza el fallo y propone el spec corregido como una versión pendiente. No lo aplica.

Ninguna IA pone un test en verde sola. Es una decisión de producto, no una limitación técnica.

checkout-completo.spec.tspropuesta de la IA

     
    await page.goto('/checkout');
  
    -
    await page.click('.btn-primary.submit-order');
  
    +
    await page.getByRole('button', { name: 'Confirmar compra' }).click();
  
     
    await expect(page.getByText(/Orden #\d+/)).toBeVisible();
  
El selector .btn-primary.submit-order dejó de existir tras el rediseño. El botón ahora se identifica por su rol accesible.
requiere revisión humana
Cómo funciona

Cuatro comandos.
Ningún archivo de test.

  1. 01GrabarGrabas

    Abres el grabador desde el panel y haces el flujo sobre tu app, como lo haría un usuario. Sin instalar nada, sin escribir código.

  2. 02PublicarSe versiona

    El flujo queda guardado como un spec de Playwright legible y editable. Puedes verlo y ajustarlo desde el mismo panel.

  3. 03EjecutarSe ejecuta

    Lo lanzas con un clic, lo programas por cron, o se dispara solo con cada pull request.

  4. 04CompartirCompartes

    Un enlace público de solo lectura con la evidencia paso a paso, o el reporte exportado a PDF y Word.

Integraciones

El resultado llega
donde ya trabajas.

delfosti/tiendaPR #418
oraculo · bot

3 de 41 flujos elegibles · afectados por este cambio

  • checkout-completo · 9 pasos
  • cupones-descuento · 6 pasos
  • pago-tarjeta · 1 paso sin estabilizar
ver evidencia paso a paso →
ORA-1284En revisión
El crédito se trunca a 8 dígitos al editar un cliente

Creado desde una corrida fallida. La evidencia se adjuntó automáticamente.

+4 capturas · trace
servidor MCP

“Acabo de tocar el checkout. ¿Se rompió algo?”

ai_impact_for_prrun_impacted_for_prget_flow_results

Un agente de IA puede pedirle a Oráculo que pruebe lo que acaba de escribir, y leer la evidencia por sí solo.

  • Azure DevOps
  • BrowserStack
  • Slack
Comparativa

Dónde ganamos.
Y dónde no.

Comparación entre Oráculo, escribir Playwright a mano y herramientas no-code
 OráculoPlaywright a manoNo-code clásico
Escribir el testLo grabasCódigo a manoLo grabas
Formato del testSpec de PlaywrightSpec de PlaywrightFormato propietario
Evidencia por pasoScreenshot, trace y tiemposLa que programesVariable
Detecta verdes sin evidenciaSí, los marcaNoNo
Casos borde y seguridadIA, en 7 categoríasUno por unoUno por uno
Cuando la UI cambiaPropone el fix, tú firmasLo arreglas túAuto-heal sin revisión
Control total del códigoSí, pero pasa por su pipelineTotal, es tu repoNo
Costo de arranqueMinutosSemanas de setupMinutos

La penúltima fila es la que nadie pone en su comparativa: si lo que quieres es control absoluto del código, escribir Playwright a mano gana. Oráculo cambia parte de ese control por velocidad y evidencia.

Preguntas frecuentes

Lo que todos preguntan
antes de probarlo.

¿Cómo automatizo pruebas E2E sin escribir código?

Grabas el flujo una vez sobre tu aplicación real, desde el grabador del navegador, en el propio panel. Oráculo lo convierte en un spec de Playwright versionado que puedes leer y editar, y lo ejecuta en un worker headless cada vez que lo necesites.

¿Qué es un falso verde en testing?

Un test que pasa sin haber probado nada: el selector no encontró el elemento, la aserción nunca se evaluó, o el paso siguió adelante tras un fallo silencioso. Oráculo marca los pasos que no alcanzaron un estado estable y expone cuántas aserciones reales tuvo la corrida.

¿Oráculo reemplaza a Playwright?

No: lo usa por debajo. Los flujos que genera son specs de Playwright estándar, así que no quedas atrapado en un formato propietario. Si mañana dejas Oráculo, tus tests siguen siendo tuyos y siguen corriendo.

¿La IA puede poner un test en verde sin que yo lo revise?

No, y es una decisión de producto. Cuando un flujo se rompe porque la interfaz cambió, la IA propone un spec corregido como una versión pendiente con su diff. Alguien tiene que aprobarlo. La IA propone; una persona firma.

¿Qué significa MATCH y MISMATCH en una variante?

Cada variante declara el resultado que se espera de ella. Si esperabas que el formulario rechazara un correo inválido y lo rechazó, el veredicto es MATCH aunque el test “falle”. MISMATCH significa que la app no hizo lo que debía: ahí está el bug.

¿Puedo correr las pruebas en dispositivos Android reales?

Sí. El worker ejecuta web con Playwright y Android con Appium, en emulador o en dispositivos reales a través de BrowserStack. iOS no está soportado.

¿Sirve si ya tengo una suite en Cypress o Selenium?

Sí. Oráculo importa specs existentes de Selenium, Cypress y Playwright, así que no empiezas de cero ni tiras el trabajo que ya hiciste.

¿Cómo evito que el pipeline pase en verde sin haber probado nada?

El gate de integración continua distingue “todo pasó” de “no había nada que correr”: si ningún flujo resultaba elegible para ese cambio, el pipeline no queda en verde por omisión.

Empieza

Tu primer flujo grabado
en diez minutos.

Sin instalar nada. Sin escribir un test. Sin tarjeta.

  1. 1Creas tu proyecto y apuntas a tu app
  2. 2Abres el grabador y haces el flujo una vez
  3. 3Lo ejecutas y recibes la evidencia

Corre en tu navegador. El equipo entra con su cuenta, sin instalar nada.