Contenido del curso
Estructura de un test
Reto #1
Debug de un test
Reto #2
Recomendaciones finales
Debugging API logs en Playwright desde la terminal
Resumen
Cuando un test end-to-end falla en producción, lo último que quieres es adivinar qué pasó. Activar los debugging API logs en Playwright te permite ver paso a paso qué hizo el navegador, dónde se rompió el flujo y por qué falló tu prueba, todo desde la terminal de Visual Studio Code.
¿Qué son los debugging API logs en Playwright?
Son registros en formato de texto que muestran cada acción que la API de Playwright ejecuta durante un test: iniciar el navegador, abrir un contexto, cargar una página, navegar a una URL y esperar a que cargue. Por defecto están desactivados porque, cuando todo sale bien, no necesitas ese nivel de detalle.
¿Para qué sirven los logs de Playwright? Sirven para identificar en qué paso exacto falló un test, especialmente útiles en producción cuando la aplicación dejó de funcionar y no estabas presente en ese momento.
¿Cómo habilitar los logs en la terminal con la variable DEBUG?
El truco está en una variable de ambiente que le indica a Playwright que imprima todo lo que ocurre internamente. Desde la terminal de Visual Studio Code, antes del comando de ejecución, defines la variable DEBUG con el valor pw:api y luego corres tu test [0:25].
La estructura del comando queda así:
bash DEBUG=pw:api npx playwright test asset
Donde asset es el nombre del archivo de prueba que quieres ejecutar. Al darle enter, la terminal empieza a imprimir cada paso que Playwright realiza en tiempo real.
¿Qué información muestran los logs paso a paso?
Cuando el test corre con la variable activa, vas a ver una secuencia parecida a esta [0:50]:
- Inicio del navegador y confirmación de que fue exitoso.
- Creación de un nuevo contexto de navegación.
- Apertura de una nueva página dentro de ese contexto.
- Ejecución de la función
goto, que indica navegación hacia una URL específica. - Espera hasta que la página termine de cargar.
Cada acción aparece etiquetada como started y luego como exitosa, así puedes seguir el rastro completo de la ejecución.
¿Por qué son útiles los logs cuando un test falla?
Aquí viene lo interesante. Si introduces un selector incorrecto a propósito (por ejemplo, borrando una letra del selector original) y vuelves a correr el comando, Playwright intenta ejecutar todos los pasos hasta que choca con el error [1:35]. En ese momento te muestra el reporte en el navegador, abre el detalle de lo que pasó y, además, genera un archivo de log tipo error con la información del fallo.
¿Qué es un log de error en Playwright? Es un archivo de texto que registra el momento exacto en el que un test falló y describe qué acción no pudo completarse. Puedes exportarlo y analizarlo después.
Este log lo puedes guardar y exportar como archivo de texto según la configuración que definas. Esa capacidad de auditoría es la que cambia el juego en entornos de equipo.
¿Cómo ayudan estos logs en producción?
Imagina este escenario: tu aplicación estaba funcionando bien, pero un compañero hace un nuevo commit y, sin que nadie se dé cuenta, algo se rompe. Cuando tú entras a revisar, el fallo ya pasó. Sin logs, estás a ciegas.
Con los debugging logs guardados, puedes:
- Reconstruir la secuencia completa de acciones que ejecutó el test.
- Identificar el paso específico donde se produjo el error.
- Detectar si el problema viene de un cambio reciente en el código.
- Compartir el archivo con tu equipo para diagnosticar más rápido.
Los logs en producción son críticos porque reducen el tiempo entre que aparece un bug y se descubre su origen. Y en pruebas end-to-end, esa diferencia se traduce en horas o días de trabajo recuperados.
¿Cuándo deberías empezar a usar Playwright en tu equipo?
Si tu equipo todavía no hace testing end-to-end, este es el momento de proponerlo. Playwright, combinado con el uso de la variable DEBUG=pw:api, le da a cualquier desarrollador o QA una visibilidad inmediata sobre lo que pasa dentro del navegador durante una prueba automatizada. El flujo de trabajo se vuelve más productivo porque dejas de perseguir errores fantasma.
En la siguiente clase vas a conocer Playwright Tracing, una herramienta que guarda aún más información cuando un test falla, incluyendo capturas y línea de tiempo. ¿Ya probaste activar los logs en tu proyecto? Cuéntame en los comentarios qué tipo de errores te ayudaron a detectar.