Cross-Browser Testing Guide (2026)
Cross-browser testing verifies your web app works across Chromium, Firefox, WebKit (Safari), and Edge. In 2026 the engine matrix has narrowed but the behavioral differences persist — CSS quirks, web A
Cross-browser testing verifies your web app works across Chromium, Firefox, WebKit (Safari), and Edge. In 2026 the engine matrix has narrowed but the behavioral differences persist — CSS quirks, web API availability, performance differences, mobile vs desktop. This guide covers the what, how, and how-much.
What to actually test
Not every browser, every version. Focus on:
- Engines: Chromium, WebKit, Gecko. That covers Chrome, Edge, Brave, Opera (Chromium), Safari (WebKit), Firefox (Gecko).
- Platforms: desktop (Windows, macOS) + mobile (Android Chrome, iOS Safari).
- Versions: current + one back. Dropping older is a business decision based on your audience.
2026 reality: Chromium dominates, Safari owns iOS, Firefox is <5%. Unless your audience skews Firefox or corporate Edge, 80% coverage comes from Chromium + WebKit.
Critical differences in 2026
- WebKit's IndexedDB is slower than Chromium's. Performance tests should cover both.
- Safari intelligent tracking prevention (ITP) limits cookies, localStorage for cross-site contexts.
- Firefox container tabs isolate storage; your app should handle empty-state repeatedly.
- Mobile Safari does not support certain APIs (PWA installability is partial).
- Service Workers work everywhere but cache invalidation differs.
- CSS: subtle differences in flexbox overflow, grid gap behavior, print stylesheets.
Tools
Playwright
First-class cross-browser support. Chromium, Firefox, WebKit in one test runner.
// @playwright/test
test('homepage', async ({ page }) => {
await page.goto('https://myapp.com');
await expect(page.locator('h1')).toContainText('Welcome');
});
// Run against all three:
// npx playwright test --project=chromium --project=firefox --project=webkit
Selenium Grid / Sauce Labs / BrowserStack / LambdaTest
Cloud device farms for scale. Good when you need actual macOS / iOS / various OS versions.
Local
- Chrome + DevTools
- Firefox Developer Edition
- Safari Technology Preview
- Edge (Chromium-based; mostly free if you have Chrome tested)
Test strategy
Unit / component
Most tests run in jsdom or happy-dom (Node-based). Fast, no browser.
Integration
Playwright tests in one browser (usually Chromium) for speed.
Cross-browser gate
Critical flows in all three engines, before release.
Visual regression
Cross-browser screenshot diffs for layout-critical pages.
Performance
Lighthouse in Chromium; WebPageTest for cross-browser performance.
CI matrix
strategy:
matrix:
browser: [chromium, firefox, webkit]
steps:
- run: npx playwright test --project=${{ matrix.browser }}
Parallel shards cut runtime. 3x browsers, 3x shards per = 9 concurrent.
Device / viewport
Test at:
- Desktop 1920×1080
- Desktop 1366×768 (still common)
- Mobile 390×844 (iPhone 14 Pro)
- Mobile 360×800 (Android mid)
- Tablet 768×1024
Playwright has devices.iPhone14Pro etc.
Common cross-browser bugs
- Flexbox overflow — Safari handles
min-width: 0differently - Date input — Safari uses wheel picker; Chrome uses calendar. UX varies.
- Scroll restoration — different defaults per browser
- File input — Safari iOS requires user-initiated, no auto-trigger
- Print CSS — Chrome and Firefox differ on
@media printorphans/widows - Web fonts —
font-display: swapbehavior differs - IndexedDB — Safari's rollback on partial writes
- Cookies and Intelligent Tracking Prevention (ITP) in Safari
How SUSA fits
SUSA is Chromium-first (Playwright) but Playwright's cross-browser can be enabled. Explorations in WebKit, Firefox run the same discovery + generation.
susatest-agent test https://myapp.com --browser webkit --persona curious --steps 200
susatest-agent test https://myapp.com --browser firefox --persona curious --steps 200
Cross-engine bug rates differ; exploration catches the ones scripts do not.
Budget
- Chromium: 100% of scripted coverage
- WebKit: 80% (critical flows, payment, auth, cart, settings)
- Firefox: 40% (spot check, common flows)
- Edge: negligible over Chromium (same engine)
Cross-browser is not a separate effort; it is a spread of your existing suite.
Test Your App Autonomously
Upload your APK or URL. SUSA explores like 10 real users — finds bugs, accessibility violations, and security issues. No scripts.
Try SUSA Free