Playwright 1.0: testing multi-browser moderno da Microsoft

Playwright 1.0 (luglio 2020) di Microsoft: framework E2E testing cross-browser (Chromium, Firefox, WebKit), multi-language (TS, Python, .NET, Java), parallelismo nativo, network interception. Alternativa principale a Cypress.

Open SourceWeb PlaywrightMicrosoftTestingE2EChromiumWebKitFirefoxOpen Source

Dal team Puppeteer a Microsoft

Il team originario di Puppeteer (Google, 2017, automazione Chrome-only headless) lascia Google e si riunisce in Microsoft nel 2019. Obiettivo: costruire un successore cross-browser vero, non solo Chromium. Nasce Playwright.

Il rilascio

Playwright 1.0 è rilasciato da Microsoft il 29 luglio 2020. Licenza Apache 2.0. Supporta Chromium, Firefox, WebKit (motore Safari) con un’unica API.

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

test('search', async ({ page }) => {
  await page.goto('https://example.com');
  await page.getByRole('searchbox').fill('playwright');
  await page.getByRole('button', { name: 'Search' }).click();
  await expect(page).toHaveTitle(/Playwright/);
});

Caratteristiche

  • Multi-browser — Chromium, Firefox, WebKit
  • Multi-language — TypeScript/JavaScript (primary), Python, .NET, Java
  • Auto-wait — built-in per elementi, network idle
  • Web-first assertions — retry automatico
  • Parallel execution nativo (workers)
  • Tracing & inspector — time-travel debug
  • Multi-tab, multi-context, multi-origin supportato
  • Network interceptionpage.route() per mock
  • Mobile emulation — viewport, touch, geolocation
  • Codegen — record e genera test da browser
  • Accessibility tree — locator robusti (getByRole)

Vs Cypress

Playwright ha vantaggi su Cypress:

  • Multi-tab/origin senza limitazioni
  • WebKit (Safari) reale vs browser-based
  • Parallelismo nativo invece di split manuale
  • Nessuna restrizione sandbox browser

Cypress ha vantaggi:

  • DX leggermente più semplice per singolo dev
  • Time travel UI storica
  • Meno setup per piccoli progetti

Versioni

  • 1.0 (luglio 2020) — prima stabile
  • 1.10 (marzo 2021) — Playwright Test runner ufficiale
  • 1.20 (marzo 2022) — locators API moderna
  • 1.35 (giugno 2023) — UI mode (Cypress-like GUI)
  • 1.40+ (2024-2025) — continui miglioramenti, component testing stabile

Component Testing

Playwright Component Testing (in experimental 1.35+): rendering React/Vue/Svelte/Solid isolato dentro browser reale.

Adozione 2024-2026

Playwright ha superato Cypress in nuovi progetti nel 2023-2024 secondo varie survey (State of JS, npm downloads trend).

Aziende che lo usano pubblicamente: Microsoft, Stripe, GitHub, VSCode team, Netlify, Vercel.

Nel contesto italiano

Playwright è scelto da:

  • Team frontend nuovi che partono TypeScript-first
  • E-commerce che richiedono test su Safari reale
  • Banking web per coverage cross-browser regolamentare
  • PA digitale — progetti che testano SPID su più browser
  • Migrazione da Cypress in team con budget automazione esteso

Riferimenti: Playwright 1.0 (29 luglio 2020). Microsoft. Licenza Apache 2.0. Team ex-Puppeteer Google. Supporto Chromium, Firefox, WebKit. Multi-language: TS/JS, Python, .NET, Java. Playwright Test runner integrato.

Vuoi supporto? Sei sotto attacco? Stato dei servizi
Vuoi supporto? Sei sotto attacco? Stato dei servizi