Playwright coverage for the shared scenario catalog. This stack covers the TypeScript P0 UI suite and Chromium-only HTTP/resource checks.
Run the npm and Playwright commands in this guide from this stack directory. Docker Compose commands are the exception and run from the repository root, as each step below states.
cd stacks/ts-playwright
npm ci
npx playwright install --with-deps chromium
Start the demo app from the repository root:
docker compose -f docker/compose.yml up -d website
Run the smoke scenario from this stack directory:
THE_INTERNET_BASE_URL=http://localhost:7080 npm run test:chromium:smoke
Run the HTTP/resource slice:
THE_INTERNET_BASE_URL=http://localhost:7080 npm run test:chromium:http
Run the flake lab deliberately; it is excluded from normal gates:
THE_INTERNET_BASE_URL=http://localhost:7080 npm run test:flake-lab
See ../../docs/flakiness-guide.md before adding or retagging flake-lab scenarios.
Run static checks:
npm run typecheck
npm run lint
npm run format:check
Stop the demo app from the repository root when finished:
docker compose -f docker/compose.yml down
playwright.config.ts defines desktop Chromium, Firefox, WebKit, branded Chrome and Edge channels, Mobile Chrome, and Mobile Safari projects. PR CI runs only the Chromium smoke project to keep feedback fast. The TypeScript full gate runs @http tests on Chromium only because HTTP/resource checks do not exercise rendering engines.
Local runs write the HTML report to playwright-report/ and failure artifacts to test-results/. CI writes the same outputs under artifacts/ts/<run-id>/<slice>/: HTML reports in html-report/, with retry traces, screenshots, videos, and attachments in test-results/.