Skip to content

Browser Selection

The Runner leverages Playwright's multi-browser engine to execute tests against Chromium, Firefox, and WebKit from a single interface.

Supported Browsers

BrowserEngineDefaultNotes
ChromiumBlinkYesMatches Chrome 130+ and Edge behavior
FirefoxGeckoNoPlaywright patches for automation support
WebKitWebKitNoSafari 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:

text
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.6

Device 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:

IssueChromiumFirefoxWebKit
date input renderingNative pickerNative pickerPlain text fallback
dialog elementSupportedSupportedPartial support
CSS gap in flexFull supportFull supportOlder builds may fail
Clipboard APIRequires permissionRequires permissionBlocked in automation

Installing Browser Binaries

If a browser binary is missing, the Preflight Guard blocks the run and shows the install command:

bash
npx playwright install chromium
npx playwright install firefox
npx playwright install webkit

Disk Space

Each browser binary is approximately 150-250 MB. Installing all three requires about 600 MB of disk space.

Local-first QA orchestration.