Run on every browser
Run a project across Chromium, Firefox, WebKit and mobile emulation.
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
| Name | Engine | Device profile |
|---|---|---|
chromium | Chromium | Desktop Chrome |
firefox | Gecko | Desktop Firefox |
webkit | WebKit | Desktop Safari |
mobile-chrome | Chromium | Pixel 7 |
mobile-safari | WebKit | iPhone 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 namesEach 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 @smokeExclude 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.