Browser Selection
The Runner leverages Playwright's multi-browser engine to execute tests against Chromium, Firefox, and WebKit from a single interface.
Supported Browsers
| Browser | Engine | Default | Notes |
|---|---|---|---|
| Chromium | Blink | Yes | Matches Chrome 130+ and Edge behavior |
| Firefox | Gecko | No | Playwright patches for automation support |
| WebKit | WebKit | No | Safari engine, essential for iOS/macOS parity |
Why Chromium Is Default
Chromium provides the fastest execution and broadest API compatibility. Switch to Firefox or WebKit when you need to verify cross-browser behavior or reproduce browser-specific bugs.
Selecting a Browser
Click the browser dropdown in the Runner toolbar before launching a run. The selected browser applies to the entire execution — all specs in the run use the same engine.
To run the same suite across multiple browsers, execute separate runs or use the CI Integration with a matrix strategy.
Playwright Device Descriptors
Beyond raw browser selection, xyva exposes Playwright's device descriptor library for emulating specific hardware:
Desktop Chrome — 1920x1080, no touch, scale 1
iPad Pro 11 — 1194x834, touch enabled, scale 2
iPhone 14 Pro — 393x852, touch enabled, scale 3, mobile UA
Pixel 7 — 412x915, touch enabled, scale 2.6Device descriptors override viewport, user agent, hasTouch, and deviceScaleFactor. Select a device in Runner > Browser > Device or in the Device Lab.
Custom Viewports
If no preset fits your needs, enter a custom viewport width and height in the device configuration panel. Custom viewports use the selected browser engine without overriding the user agent.
Cross-Browser Differences to Watch
Common issues caught by multi-browser testing:
| Issue | Chromium | Firefox | WebKit |
|---|---|---|---|
date input rendering | Native picker | Native picker | Plain text fallback |
dialog element | Supported | Supported | Partial support |
CSS gap in flex | Full support | Full support | Older builds may fail |
| Clipboard API | Requires permission | Requires permission | Blocked in automation |
Installing Browser Binaries
If a browser binary is missing, the Preflight Guard blocks the run and shows the install command:
npx playwright install chromium
npx playwright install firefox
npx playwright install webkitDisk Space
Each browser binary is approximately 150-250 MB. Installing all three requires about 600 MB of disk space.
