Complete Claude Code plugin with: - 9 skills (/pw:init, generate, review, fix, migrate, coverage, testrail, browserstack, report) - 3 specialized agents (test-architect, test-debugger, migration-planner) - 55 test case templates across 11 categories (auth, CRUD, checkout, search, forms, dashboard, settings, onboarding, notifications, API, accessibility) - TestRail MCP server (TypeScript) — 8 tools for bidirectional sync - BrowserStack MCP server (TypeScript) — 7 tools for cross-browser testing - Smart hooks (auto-validate tests, auto-detect Playwright projects) - 6 curated reference docs (golden rules, locators, assertions, fixtures, pitfalls, flaky tests) - Leverages Claude Code built-ins (/batch, /debug, Explore subagent) - Zero-config for core features; TestRail/BrowserStack via env vars - Both TypeScript and JavaScript support throughout Co-authored-by: Leo <leo@openclaw.ai>
13 lines
906 B
Markdown
13 lines
906 B
Markdown
# Golden Rules
|
|
|
|
1. **`getByRole()` over CSS/XPath** — resilient to markup changes, mirrors assistive technology
|
|
2. **Never `page.waitForTimeout()`** — use `expect(locator).toBeVisible()` or `page.waitForURL()`
|
|
3. **Web-first assertions** — `expect(locator)` auto-retries; `expect(await locator.textContent())` does not
|
|
4. **Isolate every test** — no shared state, no execution-order dependencies
|
|
5. **`baseURL` in config** — zero hardcoded URLs in tests
|
|
6. **Retries: `2` in CI, `0` locally** — surface flakiness where it matters
|
|
7. **Traces: `'on-first-retry'`** — rich debugging artifacts without CI slowdown
|
|
8. **Fixtures over globals** — share state via `test.extend()`, not module-level variables
|
|
9. **One behavior per test** — multiple related `expect()` calls are fine
|
|
10. **Mock external services only** — never mock your own app; mock third-party APIs, payment gateways, email
|