Runs against a Docker stack (MySQL + PHP + seeded app).
From repo root (requires Docker):
docker compose --project-directory . -f docker/docker-compose.e2e.yml up --build --abort-on-container-exit --exit-code-from playwrightdocker compose --project-directory . -f docker/docker-compose.dev.yml up -d
cd e2e
npm installSet PLAYWRIGHT_BASE_URL to your app (default in config is http://127.0.0.1:8080), then:
npx playwright testPowerShell:
$env:PLAYWRIGHT_BASE_URL="http://127.0.0.1:8080"
npx playwright test
Screenshots (when tests run) are written under e2e/test-results/screenshots/ (smoke flow) and e2e/test-results/ci-visual/ (tests/ci-regression.spec.ts: admin panel, font size, display filters, empty-search field sanity, syslog grid & cell menu, severity:warning filter submit, plaintext export download, statistics/reports/advanced search pages, optional predefined-search menu). Both trees are uploaded with the playwright-e2e GitHub Actions artifact.
The LogAnalyzer handbook embeds PNGs from doc-site/docs/assets/user-guide/. Regenerate them with Playwright after UI changes.
From the repository root, run the E2E stack (runs all specs, including the handbook capture):
docker compose --project-directory . -f docker/docker-compose.e2e.yml up --build --abort-on-container-exit --exit-code-from playwrighttests/handbook-screenshots.spec.ts writes doc-site/docs/assets/user-guide/*.png (the Playwright service mounts that directory at HANDBOOK_USER_GUIDE_ASSETS; see docker/docker-compose.e2e.yml). Commit updated PNGs together with doc changes.
Local dev stack (docker-compose.dev.yml) with Playwright on the host:
cd e2e
npm install
# PowerShell
$env:PLAYWRIGHT_BASE_URL="http://127.0.0.1:8080"
npx playwright test tests/handbook-screenshots.spec.ts# bash
PLAYWRIGHT_BASE_URL=http://127.0.0.1:8080 npx playwright test tests/handbook-screenshots.spec.ts