npx magnitude init
, a magnitude.config.ts
will be generated for you. By default it looks something like:
url
is the default URL that all test cases will use if not specified.
However, there’s a lot more you can customize to get Magnitude working exactly as you want.
Browser Options
You can customize options to pass to each Playwright browser context that gets created while running Magnitude tests. Common options you may want to customize might beviewport
or even recordVideo
to capture videos of tests. For example:
Development web server
Magnitude can automatically launch your development server when tests run. ConfigurewebServer
with the command to start the server and the URL it will listen on:
webServer.url
is already reachable. If so and reuseExistingServer
is true
, the command is skipped. The server process is killed automatically once the test run completes.
Test failure behaviour
The default behaviour for failed tests is to terminate execution after the first failed test. To change this and allow other tests to run regardless of failed tests, you can either- Run magnitude with the
--no-fail-fast
CLI flag - Add
continueAfterFailure: true
to yourmagnitude.config.ts
Test URL resolution
Each test uses a URL that is built from the broader scope of configuration in this order:- Environment variable (
MAGNITUDE_TEST_URL
) - Global configuration (
magnitude.config.ts
) - Test group options
- Individual test options
url
option at any of these levels, you can provide a relative path to attach to the upper level’s URL, or a full URL to override it.
For example, if you provide {url: "https://localhost:8080"}
in magnitude.config.ts
, and an individual test has {url: "/items?id=1"}
, the test runner will navigate to https://localhost:8080/items?id=1
.