Use Playwright Test projects to run the same suite in Chromium, Firefox and WebKit. Install the browser binaries that match your Playwright version, define the browser matrix in playwright.config.ts, then run every project locally or in CI. Add branded Chrome, Edge or mobile emulation only when your product’s support requirements call for them.
What Playwright cross-browser testing covers
Playwright Test projects are named configuration groups. A project can select a browser, device profile and other settings; the same tests run under each configured project by default. You do not need to duplicate test files to create a basic browser matrix. See the Playwright projects documentation.
The core engine options are Chromium, Firefox and WebKit. Playwright also supports installed branded Chrome and Edge channels. Its bundled WebKit build is not the Safari application, and its Firefox build is distinct from the branded Firefox browser. Playwright describes WebKit as derived from WebKit’s main branch; behavior can also depend on the operating system, including for media codecs. If you need a close comparison with Safari on macOS, run WebKit on macOS rather than treating a Linux WebKit run as equivalent. The current details and supported channels are in the browser documentation.
Install Playwright and its browsers
-
Add Playwright Test to your project using the package manager and language already used by your application. Keep the package version pinned through your project’s normal lockfile workflow.
Recommended: PC Feels Slow? A Free Scan Shows What's Dragging Windows Down →Recommended: Crashes or Glitches? A Free Driver Scan Usually Finds the Culprit →Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.#1 Best Overall
-
Install the browser binaries with
npx playwright install. The binaries are tied to Playwright releases, so after upgrading Playwright, run the installation step again. On Linux CI, usenpx playwright install --with-depswhen the runner also needs system dependencies. -
Confirm that your project’s package scripts invoke Playwright Test, then add the configuration below. The official browser installation guide documents installation options and release matching.
Configure a Chromium, Firefox and WebKit matrix
Create or edit playwright.config.ts and define one project for each engine. This is a starting point using Playwright’s desktop device profiles:
import { defineConfig, devices } from '@playwright/test';
export default defineConfig({
projects: [
{ name: 'chromium', use: { ...devices['Desktop Chrome'] } },
{ name: 'firefox', use: { ...devices['Desktop Firefox'] } },
{ name: 'webkit', use: { ...devices['Desktop Safari'] } },
],
});
The profile names are configuration presets; they do not turn Playwright’s WebKit build into the Safari app. Keep project names explicit so test output and reports identify which browser configuration failed.
Do these 3 things before closing this tab:
1Repair Windows errors before they cause bigger problems2Fix the driver behind crashes, sound loss and screen glitches3Clear out junk files and repair common Windows errorsAdd branded channels only when needed
If your support commitment includes branded Chrome or Edge, add projects using the appropriate installed channel. For example:
{
name: 'chrome',
use: { ...devices['Desktop Chrome'], channel: 'chrome' },
}
Install the browser channel as required by the browser documentation. The standard Chromium project is a sound default for many cases; use branded channels when the distinction is relevant to the product you support.
Choose a useful test matrix
More projects mean more execution time and more results to triage. Choose coverage from your actual support commitments and high-risk behavior, not from a desire to maximize the number of rows in a config file.
Rank #2
-
Engine: Start with Chromium, Firefox and WebKit when the product supports all three browser families. Add branded Chrome or Edge if you need to check those channels specifically.
What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy. -
Operating system: Include the operating systems your users rely on where platform-specific behavior matters. Media playback and codecs can vary by OS; macOS WebKit is the more relevant Playwright run when investigating Safari-like behavior on macOS.
-
Desktop and mobile characteristics: Device profiles emulate selected properties; they are not a substitute for testing on every physical device. Add profiles when viewport, touch behavior or user-agent-dependent paths are important.
-
Suite size: Run the full suite across the matrix when time permits. For fast feedback, select a smaller smoke or regression suite deliberately, while retaining broader coverage in scheduled or release CI runs.
-
Runtime and stability: Begin with conservative CI parallelism. If you need more throughput, distribute work across CI jobs with sharding rather than assuming that increasing workers on a constrained runner will improve reliability.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Run all projects or select a subset
With the configuration in place, run the complete matrix:
npx playwright test
All configured projects run by default. To run just Firefox:
Rank #3
npx playwright test --project=firefox
To select multiple projects, repeat the option:
npx playwright test --project=chromium --project=webkit
During development, headed mode opens the browser window, while UI mode helps inspect and rerun tests. For exact options, see the test CLI reference and running and debugging tests guide.
Emulate device and regional settings deliberately
A device profile can set characteristics such as user agent, viewport, screen dimensions and touch support. Playwright can also configure locale, timezone, geolocation, permissions and color scheme. These are emulated settings, not proof that a test ran on the corresponding physical device or in a real user’s network and location. See the emulation documentation.
Add only the settings your application uses. For example, a localized checkout may need locale and timezone coverage; a touch-oriented interaction may need a mobile profile. Keep the engine and OS visible in the project matrix when those factors affect results.
Run the matrix in continuous integration
-
Install the project’s locked dependencies using the package manager and lockfile.
-
Install Playwright browsers before tests. For Linux runners that need operating-system packages, use
npx playwright install --with-deps. -
Run
npx playwright testso the configured projects execute.Free tools Windows power users keep installed
One-click scans. No signup required.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy. -
Start with one worker on a constrained CI agent. To add throughput, shard the suite across jobs and aggregate results as appropriate for your CI setup.
Rank #4
The Web Testing Handbook- Used Book in Good Condition
These are the core recommendations in the Playwright CI guide. Keep the Playwright version and its browser installation step aligned in the CI workflow; an upgraded package with missing or mismatched browser binaries can fail before useful test results appear.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Diagnose failures by project before changing the app
A red test in a browser matrix does not automatically mean the application is broken in that browser. Check the failing project and classify the cause before changing product code.
-
Browser executable or launch failure: The expected browser binary or Linux dependency may be absent, or the Playwright version may have changed. Rerun the browser installation command for the installed Playwright release and install system dependencies when needed.
Recommended Free Tools
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy. -
Only one engine fails: Reproduce with
--projectfor that browser, inspect the browser-specific trace or headed run, and determine whether the test assumes behavior that is not shared across engines. -
WebKit differs on Linux and macOS: Check whether the behavior depends on platform-specific media or codecs. A Linux WebKit result is not an identical Safari-on-macOS test.
-
Mobile profile differs from a phone: Verify which characteristics the profile emulates. Do not interpret viewport and touch emulation as complete physical-device coverage.
-
CI-only flakiness or timeouts: Check runner resources, installed dependencies and worker count. Reduce concurrency on a constrained runner; use CI sharding when you need parallel capacity.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallOutdated Drivers Are Slowing You Down
One free scan finds every outdated or missing driver and matches the right update for your exact hardware.Free scan · exact hardware matchSpecial offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Playwright’s best practices and debugging guide provide additional advice on reliable tests and failure investigation.
Or skip the browser setup
For website screenshots rather than interactive browser tests, ScreenshotNeo offers a one-request screenshot API and an MCP server. A screenshot request does not replace Playwright’s cross-browser test assertions, but it can produce a page image without managing browser binaries yourself. See the ScreenshotNeo API documentation.
curl -G "https://api.screenshotneo.com/v1/shot" -d access_key=YOUR_API_KEY --data-urlencode url=https://stripe.com -o shot.webp
-
Cookie and consent banners are accepted like a visitor and removed along with 60+ known consent platforms, newsletter popups and chat widgets; each step can be turned off.
-
Bot checks, blank pages, timeouts, failed loads and cache hits are not billed; response headers say the page verdict and whether the request was billed.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy. -
An MCP server provides
take_screenshot,get_page_infoandcapture_pdftools for AI agents and MCP clients. -
The free plan includes 1,000 screenshots per month with no card; paid plans start at $5 for 3,000 screenshots.
Sign up for ScreenshotNeo’s free plan to get 1,000 screenshots a month with no card.
Frequently Asked Questions
Can I run only one browser project locally?
Yes. Use npx playwright test --project=firefox, replacing the project name with the one in your configuration.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Does Playwright WebKit guarantee Safari compatibility?
No. It is a Playwright WebKit build, not the Safari application. Platform-sensitive behavior may require a macOS WebKit run and, where required, testing Safari itself.
Do device profiles test real phones?
No. They emulate selected device characteristics; they do not reproduce every hardware, OS or network condition of a physical device.
Quick Recap
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




