AutoMax
Getting started

Run on every browser

Run a project across Chromium, Firefox, WebKit and mobile emulation.

What you'll learn

Which browsers AutoMax supports, how the project YAML declares them, how -b and --project-matrix select them, and how to exclude a scenario from one engine without hiding the exclusion in code.

Supported browsers

NameEngineDevice profile
chromiumChromiumDesktop Chrome
firefoxGeckoDesktop Firefox
webkitWebKitDesktop Safari
mobile-chromeChromiumPixel 7
mobile-safariWebKitiPhone 15

Branded channels (chrome, msedge) are set with channel: in the project YAML.

Declare and select

browsers: [chromium, firefox, webkit]
bun run automax run -p demo-shop -l ui -b chromium
bun run automax run -p demo-shop -l ui -b firefox -b webkit
bun run automax run -p demo-shop -l ui --list          # prints the generated Playwright project names

Each browser becomes a Playwright project named demo-shop--ui--<browser>. Generation happens once per layer; browsers share the generated spec files.

The whole matrix

bun run automax run -p demo-shop --project-matrix -t @smoke

Exclude a scenario from one engine

@ui @regression @skip:webkit
Scenario: Uses a Chromium-only DevTools feature

@skip:<browser> is validated by automax lint and applied by a hook. Do not branch inside steps on the browser name; the exclusion stays visible in the feature and in reports.

Continuous integration

Pull requests run @smoke on Chromium; merges to main run @regression; a nightly job runs the full matrix including mobile emulation. See Sharding and CI.

Next steps

On this page