スキル一覧に戻る

e2e-testing

JasonPaff / head-shakers

0🍴 0📅 2026年1月14日

Enforces project E2E testing conventions using Playwright with custom fixtures, Page Object Model, and authentication contexts.

SKILL.md

---
name: e2e-testing
description: Enforces project E2E testing conventions using Playwright with custom fixtures, Page Object Model, and authentication contexts.
---

# E2E Testing Skill

## Purpose

This skill provides end-to-end testing conventions using Playwright. E2E tests validate complete user flows with browser automation.

## Activation

This skill activates when:

- Creating or modifying files in `tests/e2e/specs/`
- Testing complete user flows
- Working with Playwright
- Creating or modifying Page Object Model classes
- Working with authentication contexts

## File Patterns

- `tests/e2e/specs/**/*.spec.ts`
- `tests/e2e/pages/**/*.page.ts`

## Workflow

1. Detect E2E test work (file path contains `tests/e2e/`)
2. Load `references/E2E-Testing-Conventions.md`
3. Also load `testing-base` skill for shared conventions
4. Apply Playwright patterns with custom fixtures
5. Use Page Object Model for reusable interactions

## Key Patterns (REQUIRED)

### Custom Fixtures

- Use fixtures from `tests/e2e/fixtures/base.fixture.ts`
- Available: `adminPage`, `userPage`, `newUserPage` (authenticated contexts)
- Available: `adminFinder`, `userFinder`, `newUserFinder` (ComponentFinder instances)

### Page Object Model

- Extend `BasePage` class for page objects
- Define `url` property for navigation
- Use `byTestId` helper for data-testid lookups

### ComponentFinder

- Use for standardized `data-testid` lookups
- Methods: `feature()`, `form()`, `ui()`, `layout()`, `tableCell()`

### Test Organization

- Place in appropriate `tests/e2e/specs/{category}/` folder
- Categories: smoke, public, user, admin, onboarding

## References

- `references/E2E-Testing-Conventions.md` - Complete E2E testing conventions