Trace Viewer de Playwright para depurar pruebas autorizadas
Captura trazas de Playwright para diagnosticar pruebas repetibles y mantén su contenido, conservación y uso compartido dentro de un límite de privacidad aprobado.
Quieres la documentación estructurada de Primeros pasos?
Este artículo forma parte de la biblioteca editorial. Para pasos de configuración, material de referencia y actualizaciones continuas, entra en la sección de docs.
Qué contiene una traza de Playwright
Playwright tracing registra una línea de tiempo para una prueba autorizada y permite revisar lo ocurrido cerca de un fallo. Trace Viewer puede mostrar acciones, red, consola, capturas y snapshots según sus opciones. La traza describe la secuencia que observó el navegador; no registra todos los eventos del sistema ni demuestra que un servicio aceptó una solicitud.
La documentación de Trace Viewer explica cómo abrir una traza. La guía de buenas prácticas recomienda pruebas aisladas, deterministas y aserciones visibles. La pregunta es qué acción autorizada, respuesta o aserción se apartó primero del contrato esperado.
Una traza puede contener texto, etiquetas de cuentas, URL o cabeceras sensibles. Captura solo escenarios sintéticos o aprobados explícitamente; no adjuntes sesiones reales, pagos, tokens ni páginas ajenas.
Consulta el ciclo de vida de BrowserContext y el modelo de almacenamiento. Un contexto reduce el intercambio de estado, pero no redacta una traza ya capturada.
Captura acotada
Inicia tracing en el fixture o prueba más pequeña que lo necesita y deténlo en finally. Conserva normalmente el primer reintento, no todas las ejecuciones correctas. Comprueba la referencia API de la versión actual.
await context.tracing.start({ screenshots: true, snapshots: true, sources: false });
try {
await runAuthorizedScenario(page);
} finally {
await context.tracing.stop({ path: tracePath });
}
Usa una ruta específica por worker y marca un archivo ausente o parcial como resultado de infraestructura. La traza debe responder una pregunta acotada, no ser una grabación general.
Un reintento usa un contexto nuevo y las mismas entradas sintéticas autorizadas. No reutilices una página o estado desconocido.
Revisión, redacción y retención
Abre la traza localmente o en el sistema aprobado. Empieza por la línea de tiempo y la aserción; revisa red o snapshots solo para clasificar el fallo.
Redacta antes de compartir. Quita tokens, cookies, nombres, pagos, URL privadas y contenido de clientes. Si no puede reducirse sin riesgo, conserva la traza restringida y comparte el diagnóstico.
La retención debe coincidir con el objetivo. Expira la primera traza después de reproducir el problema y usa controles de acceso. context.close() no elimina una copia subida a CI.
Flujo de equipo y límites
Define el contrato visible antes de leer la traza. Registra escenario, versiones, resultado y limpieza. Si el fallo queda fuera del navegador, solicita el diagnóstico admitido por el servicio.
Usa nombres como artifacts/traces/<test>-<worker>-<attempt>.zip y publica solo metadatos mínimos. Indica si falta, está dañada o fue capturada después del teardown.
BotBrowser puede proporcionar un contexto aislado y un perfil repetible para un flujo Playwright autorizado, ayudando a reproducir el escenario antes de capturarlo. BotBrowser no garantiza que la traza esté libre de contenido sensible, no elimina tokens de snapshots ni hace visible un fallo del servicio; el responsable debe elegir entradas sintéticas y aplicar acceso y retención. Consulta la documentación de aislamiento de múltiples cuentas.
Registra el identificador de la prueba.
Nombra el escenario sintético.
Anota las versiones del navegador y Playwright.
Indica el primer paso divergente.
Clasifica el resultado como prueba o infraestructura.
Indica si existen capturas y snapshots.
Indica si existen datos de red.
Usa una ruta privada por worker.
Detén tracing antes de mover el archivo.
Mantén secretos fuera de CI.
Cada reintento crea un contexto nuevo.
No reutilices estado desconocido.
No confundas un segundo éxito con ausencia de defecto.
Prefiere una condición visible a un tiempo arbitrario.
Activa capturas solo cuando sean necesarias.
Reduce el alcance si el archivo es grande.
Limita lectores y fija una expiración.
Revisa los datos antes de compartir.
Separa evidencia del navegador y del servicio.
El propietario confirma la respuesta del servidor.
Registra fallos de limpieza.
Revisa la retención cuando cambie el flujo.
Reproduce en una carpeta limpia.
Limpia solo archivos de la prueba.
Haz repetible la limpieza.
Expira copias restringidas.
Revisa campos sensibles después de cambios.
El registro debe incluir prueba, escenario sintético, versiones, primer paso divergente y expiración.
Define el contrato esperado antes de ejecutar el escenario.
Lee la traza desde la aserción hasta el primer estado inesperado.
Elige capturas y snapshots según la pregunta concreta.
Trata el tamaño del artefacto como límite operativo.
Registra cada reintento con un contexto nuevo.
Separa las rutas de workers paralelos.
Limita el acceso como si la traza fuera una credencial.
Redacta tanto el archivo como las capturas exportadas.
Convierte el primer desvío en una regresión estrecha.
Reproduce con un directorio limpio y una versión nombrada del navegador.
Sustituye esperas frágiles por condiciones visibles.
Entrega al propietario del servicio un identificador admitido, no datos del navegador.
Haz observable la limpieza sin incluir el contenido del archivo.
Califica cada conclusión con las versiones y el entorno probados; una sola traza no demuestra compatibilidad universal.
Registra una acción siguiente explícita después de revisar la traza. Usa la misma etiqueta de escenario en traza, CI y regresión.
Comprueba acceso y expiración al copiar un artefacto.
Distingue hechos observados de hipótesis pendientes.
Cierra el acceso cuando el propietario ya no lo necesite.
Comparte un enlace restringido en lugar del archivo completo.
No pongas identificadores de cuenta en las etiquetas.
Confirma resultados del servidor con registros admitidos.
Conserva solo el diagnóstico redactado al cerrar el incidente.
Lista de comprobación
- Identifica el escenario autorizado y su aserción.
- Inicia tracing solo para el fixture necesario.
- Guarda cada traza en una ruta privada y única.
- Redacta snapshots, URL y red antes de compartir.
- Registra hallazgo, versiones, limpieza, responsable y expiración.
Mantén el acceso restringido hasta que termine la revisión y separa hechos observados de hipótesis en el diagnóstico final.
Fuentes
Artículos Relacionados
Lleva BotBrowser de la investigación a producción
Usa estas guías para entender el modelo y después avanzar hacia validación multiplataforma, contextos aislados y despliegue de navegador preparado para escalar.