Playwright drives Chromium, Firefox, and WebKit through one API. Each engine catches different rendering and behavior bugs — especially WebKit for Safari users.
Browser Engines
Chromium covers Chrome and Edge channels. Firefox uses Mozilla's engine. WebKit powers Safari — critical for iOS/macOS user bases.
Headless mode is default for speed in CI; headed helps local debugging. channel: 'chrome' uses installed Google Chrome instead of bundled Chromium.
Headless is not 'fake' — modern headless matches headed closely.
CI often runs chromium only for speed; nightly full matrix.
Browser CLI Reference
Install and run specific browsers.
Command
Purpose
playwright install chromium
Install Chromium only
playwright install firefox webkit
Install other engines
--project=firefox
Run Firefox project
--headed
Show browser window
channel: 'chrome'
Use installed Chrome
npx playwright install-deps
OS libs for Linux
Why WebKit Matters
Safari has unique CSS, date input, and storage behaviors. Bugs that only appear in WebKit are common on iOS. Include WebKit in pre-release regression, even if PR CI runs Chromium only.
Using Installed Chrome via channel
use: { channel: 'chrome' } drives the user's installed Google Chrome instead of bundled Chromium — useful when codec or policy differences matter.