Every QA Flow project carries its own execution configuration, letting you tune how Playwright runs your tests without touching any code. These settings live inside the project settings modal and are stored as a JSONDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/davidG97/qa-flow/llms.txt
Use this file to discover all available pages before exploring further.
config field on the project record, so each project can have completely independent behaviour.
Opening Project Settings
To open the settings modal, click the ⚙️ Settings button in the top toolbar of the visual editor. The modal shows all configurable options for the currently open project. Changes are saved immediately to the project and take effect on the next test run.Configuration Options
The following table lists every field inProjectConfig together with its type, default value, and purpose.
| Option | Type | Default | Description |
|---|---|---|---|
executionMode | 'default' | 'parallel' | 'serial' | 'default' | Controls how Playwright schedules tests — default lets Playwright decide, parallel forces concurrent execution, serial enforces strict ordering |
workers | number | 4 | Number of parallel browser worker instances (range: 1–10) |
retries | number | 0 | How many times a failing test is retried before it is marked as failed |
timeout | number (ms) | 30000 | Maximum time in milliseconds allowed for each individual action |
maxFailures | number | 0 | Stop the entire run after this many test failures; 0 means no limit |
cdpUrl | string | '' | Optional Chrome DevTools Protocol URL to attach to a running Chrome instance |
Execution Mode
default
Playwright decides how to schedule tests based on the runner’s capabilities. The best starting point for most projects.
parallel
All tests run concurrently across the configured number of workers. Fastest option for large, independent test suites.
serial
Tests execute one after another in the order they appear in the flow. Use this when tests share state or depend on each other’s side effects.
Serial vs. Parallel — When to Choose Each
- Use Serial When…
- Use Parallel When…
- Tests share a single user session or database state (e.g., a checkout flow where each step must follow the previous one)
- A later test depends on data created by an earlier test
- You are running against an environment that cannot handle concurrent sessions
- Your test suite includes
beforeAll/afterAllhooks that set up shared state
serial mode, each node runs only after the previous one completes successfully, guaranteeing correct ordering.Workers
Theworkers setting controls how many Playwright browser processes run simultaneously. The valid range is 1–10.
- 1 worker — effectively serial execution; useful for debugging flaky tests
- 4 workers (default) — good balance for most CI environments
- 8–10 workers — suitable for large suites on high-memory machines or cloud runners
Retries
Settingretries to a value greater than 0 tells Playwright to re-run a test that fails, up to that many additional times, before recording a final failure. This is useful for tests that occasionally fail due to network jitter or animation timing.
Retries are distinct from fixing flaky tests — they mask instability rather than resolve it. Use retries as a short-term safety net, but investigate the root cause of any test that consistently requires them.
1 means Playwright tries each failing test once more. A value of 2 means up to two extra attempts, and so on.
Action Timeout
Thetimeout field sets the maximum number of milliseconds that any single Playwright action (click, fill, assertion, etc.) may take before it throws a timeout error.
Individual nodes in the flow can also override this value in their own Timeout field, which takes precedence over the project-level setting for that specific action.
Max Failures
ThemaxFailures setting instructs QA Flow to abort the entire test run once a certain number of tests have failed.
| Value | Behaviour |
|---|---|
0 (default) | Run all tests regardless of how many fail |
1 | Stop immediately after the first failure |
N | Stop after N cumulative failures |
maxFailures: 1 or maxFailures: 5 prevents wasting time and resources running hundreds of remaining tests when a critical early failure has already broken the build.
CDP URL (Remote Browser)
ThecdpUrl field accepts a Chrome DevTools Protocol endpoint, for example http://localhost:9222. When provided, QA Flow connects to that running Chrome instance instead of launching a new headless browser.
Launch Chrome with Remote Debugging
Start Chrome on your machine with the remote debugging port open.
- macOS
- Windows
- Linux
Set CDP URL in Project Settings
Open the ⚙️ Settings modal and enter the CDP URL:If QA Flow is running inside Docker and Chrome is on the host machine, use
http://host.docker.internal:9222 on Windows/macOS or your host IP on Linux.The integrated screencast panel already gives you a live view of the headless browser during every run — you do not need CDP configured for that. The
cdpUrl setting is specifically for attaching to a visible Chrome window on your machine or a remote host.