원클릭으로
webstatus-e2e
Use when writing, modifying, or debugging Playwright end-to-end (E2E) tests for webstatus.dev.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Use when writing, modifying, or debugging Playwright end-to-end (E2E) tests for webstatus.dev.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
Use when creating or modifying Go backend API endpoints, modifying Spanner database schemas, or working with OpenAPI and Spanner mappers.
Use when modifying the frontend SPA, working with TypeScript, Lit web components, Shoelace components, or frontend tests.
Use when upgrading toolchain versions (Go, Node.js, Terraform, Playwright) or updating the DevContainer and Github CI configurations.
Use when working with the webstatus notification pipeline, event producer, push delivery, or push workers (e.g., Email, Webhooks), and Pub/Sub subscribers.
Use when modifying the ANTLR search grammar, adding new search terms, or working with the query parser and builder.
Use when working on Go data ingestion workflows, scheduled Cloud Run jobs, or adding new scrapers for BCD, WPT, or other data sources.
| name | webstatus-e2e |
| description | Use when writing, modifying, or debugging Playwright end-to-end (E2E) tests for webstatus.dev. |
This skill provides guidance for working with the End-to-End (E2E) test suite in webstatus.dev, which is built using Playwright and TypeScript.
e2e/ directory.playwright.config.ts handles browser definitions, retries, and worker limits.For a detailed technical guide on the local development environment (Skaffold/Minikube), data population strategies, and the CI/PR validation lifecycle, see references/architecture.md.
frontend/src/**/*.test.ts).data-testid attributes (e.g., page.getByTestId('submit-btn')) over brittle CSS classes or XPath.page.mouse.move(0, 0)) before taking visual snapshots to avoid flaky tests caused by unintended hover effects on UI elements.localhost:8080 via port-forward) to mock GitHub API responses, such as user profiles and email lookups during login.waitForChartCompletion and waitForTabbedChartCompletion hooks (from utils.ts) for Google Charts instead of naive .waitForSelector to avoid timeout races.toBeAttached() instead of toBeVisible() to cleanly bypass WebKit strict-mode 0px bounding box quirks for inline host elements or absolutely positioned fragments.await on asynchronous Playwright matchers like toBeChecked() to prevent tests from skipping past Lit hydration cycles synchronously.workers: 1 is strictly enforced in playwright.config.ts.CI=true (e.g., CI=true make playwright-test).projects array within playwright.config.ts.Makefile in the project root:
make playwright-test: Sets up a fresh local environment and runs the test suite.SKIP_FRESH_ENV=1 make playwright-test: Rapidly iterates on E2E tests by skipping the full Skaffold/Minikube setup (requires an already running environment).make playwright-ui: Runs the tests in Playwright's interactive UI mode.make playwright-debug: Runs the tests in debug mode.make playwright-update-snapshots: Updates visual regression snapshots.When modifying playwright configuration, retries, or execution strategies:
GEMINI.md to ensure I am aware of the changes.