webqa.json
The configuration file is validated against spec.v1.schema.json (packages/spec).
{ "version": 1, "name": "www.example.nl", "locales": [ { "code": "nl", "url": "https://www.example.nl/nl/" }, { "code": "en", "url": "https://www.example.nl/en/" } ], "pages": { "sitemap": "https://www.example.nl/sitemap.xml", "maxPages": 50 }, "viewports": [ { "name": "desktop", "width": 1440, "height": 900 }, { "name": "mobile", "width": 390, "height": 844 } ], "checks": ["http", "lang", "overflow", "links", "clipping"], "timeouts": { "pageMs": 30000, "runMs": 600000 }}| Field | Required | Description |
|---|---|---|
version |
yes | Always 1. |
name |
no | Label for the run. |
locales[] |
yes | code and url per language version. A page belongs to the locale whose URL is the longest prefix of the page URL. |
pages |
yes | Either { "urls": [...] } (up to 500) or { "sitemap": url, "maxPages": n }. Sitemap pages are capped and interleaved per locale. |
viewports[] |
no | Up to 5 viewports. Default: desktop 1440×900 and mobile 390×844. Add { "name": "tablet", "width": 768, "height": 1024 } to also check a tablet (runs take about 50% longer). Viewports up to 1024px wide are emulated as touch devices. |
checks[] |
no | Any of http, lang, overflow, links, clipping, media, content, forms, seo, a11y, consistency, privacy, security, keyboard. Omitted: all except keyboard. See checks. |
timeouts |
no | pageMs (1–120 s) per page, runMs (5 s–60 min) for the whole run. |