From aims-toolkit
E2E 테스트, Playwright, 엔드투엔드, 통합 테스트, UI 테스트 - Generates, runs, and maintains E2E tests using Playwright. Use when creating browser-based tests, debugging flaky E2E tests, or maintaining Playwright test suites. Do NOT use for unit/integration tests (use tdd-workflow) or test strategy planning (use testing-strategy).
npx claudepluginhub aimskr/aims-claude-toolkit --plugin aims-toolkitThis skill uses the workspace's default tool permissions.
Playwright를 사용한 엔드투엔드 테스트 워크플로우입니다.
Configures and writes end-to-end tests with Playwright or Cypress for validating user flows, browser integration, CI E2E tests, acceptance tests, and production smoke tests.
Build E2E test specs for critical user journeys — Playwright or Cypress, page objects, setup/teardown, CI config. Use when asked to "write E2E tests", "end-to-end testing", "browser tests", "UI tests", or "Playwright tests".
Provides Playwright-based E2E testing patterns for full-stack Python/React apps, including page object model, fixtures, auth state reuse, test data management, and CI integration for user workflows like login, CRUD, and cross-browser tests.
Share bugs, ideas, or general feedback.
Playwright를 사용한 엔드투엔드 테스트 워크플로우입니다.
import { test, expect } from '@playwright/test';
test.describe('Feature: [기능명]', () => {
test.beforeEach(async ({ page }) => {
await page.goto('/');
});
test('should [expected behavior]', async ({ page }) => {
// Arrange
// Act
// Assert
});
});
사용자 스토리 → 테스트 시나리오 변환
예: "사용자가 로그인할 수 있다"
→
1. 유효한 자격 증명으로 로그인 성공
2. 잘못된 비밀번호로 로그인 실패
3. 존재하지 않는 이메일로 로그인 실패
4. 빈 필드로 로그인 시도
우선순위:
1. data-testid (권장)
2. role + name
3. text content
4. CSS selector (최후 수단)
AAA 패턴:
- Arrange: 테스트 환경 설정
- Act: 사용자 액션 수행
- Assert: 결과 검증
1. 실패 원인 분석 (스크린샷, 트레이스)
2. 선택자 변경 확인
3. 타이밍 이슈 확인
4. API 응답 변경 확인
5. 테스트 수정 또는 기능 버그 보고
Playwright 설정, 실행 명령어, 코드 패턴, Page Object 패턴, 테스트 구조 등 상세 참조:
Read references/playwright-reference.md in this skill directory.
로그인 기능에 대한 E2E 테스트를 생성해주세요.
E2E 테스트를 실행하고 실패한 테스트를 분석해주세요.
이 E2E 테스트가 실패합니다. 수정해주세요.
[테스트 코드]
[에러 메시지]
작업 완료 시 auto-documenter를 호출하여 프로젝트 문서를 업데이트한다.
모든 대상 테스트가 통과하거나, 실패 원인 분석 리포트가 전달되면 완료.
테스트가 간헐적으로 실패 (flaky): 타이밍 이슈가 대부분. waitFor / expect().toBeVisible() 등 명시적 대기로 교체. page.waitForTimeout() 사용 금지.
Selector가 자주 깨지는 경우: CSS selector 대신 data-testid 또는 role + name 선택자로 전환. 선택자 우선순위 Phase 2 참조.
CI에서만 실패하는 테스트: headless 모드 차이, 화면 해상도, 네트워크 지연 확인. --trace on으로 trace 수집 후 분석.