Framework Gratis Activo

Playwright

Para escribir pruebas end-to-end fiables que verifican aplicaciones web en varios navegadores reales.

Framework de Microsoft para pruebas E2E y automatización de Chromium, Firefox y WebKit con una sola API.

Notas y contexto

Qué es

Playwright es un framework open source de Microsoft para pruebas end-to-end y automatización web. Permite controlar Chromium, Firefox y WebKit con una única API, en modo headless o con interfaz, sobre Linux, macOS y Windows. Está escrito principalmente en TypeScript y se distribuye bajo licencia Apache-2.0, además de tener bindings oficiales para JavaScript/TypeScript, Python, Java y .NET.

Para qué sirve

  • Escribir pruebas end-to-end que ejercitan la aplicación real en los tres motores de navegador principales.
  • Automatizar flujos de navegador: login, formularios, scraping o tareas repetitivas.
  • Detectar regresiones visuales y funcionales antes de desplegar a producción.
  • Generar pruebas grabando interacciones con la herramienta Codegen.

Cuándo usarlo

Es la opción recomendada cuando necesitas cobertura E2E multinavegador moderna y fiable, especialmente si trabajas con aplicaciones de una sola página. Su sistema de auto-wait reduce los tests inestables (“flaky”) frente a alternativas más antiguas como Selenium. Cypress es una alternativa popular, pero Playwright destaca por el soporte nativo de WebKit, la ejecución paralela y un mejor rendimiento en CI.

Ejemplo

Instalación e inicialización del proyecto de pruebas:

npm init playwright@latest

Un test básico con el runner integrado:

import { test, expect } from '@playwright/test';

test('tiene el titulo correcto', async ({ page }) => {
  await page.goto('https://playwright.dev/');
  await expect(page).toHaveTitle(/Playwright/);
  await page.getByRole('link', { name: 'Get started' }).click();
  await expect(page.getByRole('heading', { name: 'Installation' })).toBeVisible();
});

Ejecución de las pruebas:

npx playwright test

Puntos clave

  • API única para Chromium, Firefox y WebKit, en headless o con interfaz.
  • Auto-wait y aserciones que esperan a que los elementos sean accionables, reduciendo tests inestables.
  • Test runner con ejecución paralela y aislamiento por contexto de navegador.
  • Herramientas de depuración como Trace Viewer, Codegen y snapshots de accesibilidad.

Ten en cuenta

Playwright requiere Node.js (para el runner de JS/TS) y descarga sus propias versiones de los navegadores, lo que ocupa espacio en disco. La curva de aprendizaje es algo mayor que con herramientas centradas en un solo navegador, y al cubrir tres motores el tiempo de ejecución en CI puede crecer. El proyecto está activamente mantenido por Microsoft, con releases frecuentes.

Volver al directorio
Volver al directorio