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 interception —
page.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.
