Key Changes
- Grabación HAR en Tracing: Las funciones
tracing.startHar()ytracing.stopHar()se integran como APIs de tracing de primera clase. Esto permite grabar tráfico HAR dentro de un ámbito específico usandoawait using, simplificando la captura de red durante las pruebas.await using har = await context.tracing.startHar('trace.har'); const page = await context.newPage(); await page.goto('https://playwright.dev'); // HAR is finalized when `har` goes out of scope. - API Drop: El nuevo método
locator.drop()simula acciones de drag-and-drop externas, soportando archivos o datos. Esta característica es muy útil para probar zonas de carga de archivos y elementos interactivos, funcionando de manera consistente entre navegadores.await page.locator('#dropzone').drop({ files: { name: 'note.txt', mimeType: 'text/plain', buffer: Buffer.from('hello') }, }); - Aria Snapshots:
expect(page).toMatchAriaSnapshot()ahora funciona directamente en un objetoPage. La nueva opciónboxesparaariaSnapshot()añade coordenadas de bounding box, lo que es útil para pruebas de accesibilidad asistidas por IA. - Control de Pruebas:
test.abort()permite abortar una prueba en ejecución desde un fixture, hook o route handler con un mensaje opcional. Esto es útil para manejar escenarios de prueba irrecuperables.test('does not publish to the shared page', async ({ page }) => { await page.route('**/publish', route => { test.abort('Tests must not publish to the shared page. Use the `clone` option.'); return route.abort(); }); // ... }); - Nuevas APIs: Playwright v1.60.0 introduce varias APIs nuevas para un control más preciso y una mejor gestión de eventos. El evento
browser.on('context')permite monitorear nuevos contextos de navegador, mientras queBrowserContextahora refleja eventos de ciclo de vida de las páginas, comodownload,frameattached,pagecloseypageload. Esto simplifica la gestión de eventos en múltiples páginas dentro de un contexto. Para los locators,getByRole()ahora incluye una opcióndescription, permitiendo pruebas de accesibilidad más exactas al coincidir con la descripción accesible.expect(locator).toHaveCSS()puede inspeccionar estilos computados de pseudo-elementos (::before,::after) usando la opciónpseudo. La depuración visual se mejora conlocator.highlight()que soporta una opciónstylepara superposiciones personalizadas, ypage.hideHighlight()para eliminarlas. El control de red también mejora conwebSocketRoute.protocols()para recuperar los subprotocolos WebSocket solicitados ybrowserType.connectOverCDP()que ofrece una opciónnoDefaultspara deshabilitar las anulaciones predeterminadas de Playwright.
Impact for QA Teams
Estas actualizaciones mejoran las capacidades de automatización de pruebas, especialmente en interacción de red, simulaciones de drag-and-drop y pruebas de accesibilidad. Los ingenieros de QA pueden crear pruebas más precisas y estables, incrementando la cobertura y fiabilidad de los conjuntos de pruebas. Para una guía más profunda, consulta nuestra guía completa de Playwright.
