From the Puppeteer team to Microsoft
The original team of Puppeteer (Google, 2017, Chrome-only headless automation) leaves Google and regroups at Microsoft in 2019. Goal: build a true cross-browser successor, not just Chromium. Playwright is born.
The release
Playwright 1.0 is released by Microsoft on 6 May 2020. Apache 2.0 licence. Supports Chromium, Firefox, WebKit (Safari engine) with a single 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/);
});
Features
- Multi-browser — Chromium, Firefox, WebKit
- Multi-language — TypeScript/JavaScript (primary), Python, .NET, Java
- Auto-wait — built-in for elements, network idle
- Web-first assertions — automatic retry
- Native parallel execution (workers)
- Tracing & inspector — time-travel debug
- Multi-tab, multi-context, multi-origin supported
- Network interception —
page.route()for mocks - Mobile emulation — viewport, touch, geolocation
- Codegen — record and generate tests from browser
- Accessibility tree — robust locators (
getByRole)
Vs Cypress
Playwright has advantages over Cypress:
- Multi-tab/origin without limitations
- Real WebKit (Safari) vs browser-based
- Native parallelism instead of manual split
- No browser sandbox restrictions
Cypress has advantages:
- Slightly simpler DX for a single dev
- Historical time travel UI
- Less setup for small projects
Early adoption
Playwright is rapidly growing among frontend teams starting TypeScript-first projects and engineering teams looking for a Cypress alternative with real Safari support.
Companies publicly using it from the start: Microsoft (with VSCode team), GitHub, Stripe.
In the Italian context
Playwright is entering:
- New frontend teams TypeScript-first
- E-commerce requiring real Safari testing
- Banking web for regulatory cross-browser coverage
- Digital PA — projects testing SPID on multiple browsers
References: Playwright 1.0 (6 May 2020). Microsoft. Apache 2.0 licence. Ex-Puppeteer Google team. Chromium, Firefox, WebKit support. Multi-language: TS/JS, Python, .NET, Java.
