Docs de Autonomy
Migrar

Playwright

Convierte cada prueba de Playwright en un caso de prueba de Autonomy con pasos de resultados esperados, sin sus locators, esperas ni objetos de página.

Una prueba de Playwright ya se lee como un recorrido: abrir una página, hacer algo, esperar un resultado. La migración conserva el resultado que espera cada prueba y descarta los locators, las llamadas waitFor, los objetos de página y los fixtures que llevan hasta él.

Prompt

Pega esto en un agente de programación conectado al servidor MCP de Autonomy, desde dentro del repositorio:

Codetext
Migra las pruebas de Playwright de este repositorio a Autonomy con las herramientas MCP de Autonomy.

Preparación
1. Llama a autonomy_project_list y pregúntame qué proyecto usar. Llama a autonomy_environment_list con su projectId y pregúntame en qué entorno ejecutar.
2. Llama a autonomy_test_case_list con el projectId. Omite las pruebas que ya cubra un caso de prueba existente.

Para cada prueba
3. Crea UN caso de prueba con autonomy_test_case_create: projectId, name = el título de la prueba, platforms = ["web"] (["api"] para las pruebas que solo usan el fixture request).
4. Escribe cada paso como un resultado esperado: lo que es cierto cuando el paso termina, en palabras sencillas ("Existe una cuenta nueva para un correo nuevo"). Di lo que demuestra la prueba, no cómo: sin clics, locators, esperas, reintentos ni llamadas a expect. Un paso puede abarcar varias acciones que sirven a un mismo resultado esperado. Usa 12 pasos o menos; divide una prueba más larga en varios casos de prueba.
5. Cada paso es {id, text, attachments[]}. Cada adjunto tiene id, kind y exact. Tipos: account {role}, inbox (sin dirección = una bandeja de entrada nueva por ejecución), phone, file, screenshot, data {label, value} o {label, intent} para datos generados.
6. Nunca escribas una contraseña, un token o una clave en un paso. Por cada cuenta con la que la suite inicia sesión (storageState, global setup, helpers de login), pídeme que la guarde en el panel (Sign-ins del proyecto, New sign-in) y que te diga su nombre de cuenta; después empieza la prueba con un paso como "El propietario de la tienda ha iniciado sesión" con esa cuenta adjunta. Para otros secretos de process.env, propón nombres y referéncialos como {{env.NAME}}; añádelos como valores secretos con autonomy_environment_upsert solo después de que yo esté de acuerdo.
7. Los valores sobre los que trata la prueba (el texto o el número que comprueba un expect, un cupón que debe aplicarse, una entrada que debe rechazarse): un adjunto data con exact: true. El resto de la configuración: {{env.NAME}}.
8. Datos de registro (correos, nombres, contraseñas, sufijos con Date.now()): una bandeja de entrada nueva y datos generados, nunca un valor fijo.
9. Integra los objetos de página y los fixtures en lo que demuestra la prueba. Descarta los mocks de page.route: las ejecuciones prueban el producto real. Si una prueba solo funciona con respuestas simuladas, no la migres; inclúyela en una lista. Convierte las comprobaciones con waitForResponse en un resultado esperado sobre lo que ve el usuario.

Al terminar
10. Si la suite agrupa pruebas (bloques test.describe, etiquetas, proyectos de la configuración), ofréceme crear un plan de pruebas por grupo con autonomy_test_plan_create.
11. Ejecuta un caso de prueba migrado con autonomy_run_trigger en el entorno que elegí. Síguelo con autonomy_run_get (pasa el último cursor y waitMs) hasta que termine. Para cada paso que no se haya superado, lee autonomy_run_step_actions y cuéntame qué pasó.
12. Termina con una tabla: prueba de origen, ID del caso de prueba, número de pasos y todo lo que no hayas podido trasladar.

Equivalencias

PlaywrightAutonomy
test()Un caso de prueba.
test.describe(), etiquetas, proyectos de la configuraciónOpcionalmente, un plan de pruebas.
page.goto, click, fill, locators, objetos de páginaIntegrados en el resultado esperado del paso. El agente encuentra los controles.
expect(...).toHaveText("$48.00")El resultado esperado, con $48.00 como adjunto data marcado como Exact.
waitFor*, toPass, reintentos, timeoutsSe descartan.
storageState, login en global setupUn paso con la sesión iniciada y un inicio de sesión guardado adjunto como account.
process.env.X{{env.X}}, marcado como secreto cuando es una credencial.
baseURLEl objetivo Web del entorno.
Pruebas con el fixture requestUn caso de prueba en la plataforma API, con la URL base como objetivo API del entorno. Consulta API y red.
setInputFilesUn adjunto file de los Files del proyecto.
toHaveScreenshot()Un resultado esperado sobre el aspecto, con un adjunto screenshot. Consulta Comprobaciones visuales.
Mocks de page.routeNo se migran. Las ejecuciones usan el producto real.
Comprobaciones con waitForResponseUn resultado esperado sobre el resultado. La ejecución conserva todas las peticiones en su pestaña Network.
Proyectos con emulación de dispositivosSiguen siendo web. Para una app nativa, usa la guía de Appium o de Maestro.

Consulta el resumen de la migración para ver un ejemplo completo.

¿No lo encontraste?

On this page