e2e-write

Solid

테스트 케이스로부터 e2e 테스트 스위트를 작성합니다: 사전 조건용 API 클라이언트, fixture, 그리고 증명된 POM 위의 의도만 담은 스펙. 로케이터를 절대 지어내지 않습니다 -- 페이지에 POM이 없으면 먼저 /qa-e2e-pom을 호출합니다. 스위트가 세 게이트(green, 다시 green(정리 증명), --repeat-each=3에서 green(플레이크 증명))와 금지 패턴 기계 린트를 통과해야 완료입니다. 사용 시점: "write e2e tests", "automate test cases", "generate the test suite", "API client for tests". 사용하지 않을 때: Playwright 셋업 시 (/qa-e2e-setup 사용), 페이지 객체 빌드/힐링 시 (/qa-e2e-pom 사용), 수동 테스트 실행 시 (/qa-qa 사용).

Testing & QA 9 stars 3 forks Updated yesterday Apache-2.0

Install

View on GitHub

Quality Score: 82/100

Stars 20%
33
Recency 20%
100
Frontmatter 20%
70
Documentation 15%
100
Issue Health 10%
50
License 10%
100
Description 5%
100

Skill Content

# /qa-e2e-write: 테스트 스위트 생성 테스트 케이스를 통과하는, 재실행 가능한, 플레이크 없는 스위트로 바꿉니다. `playwright/AUTOMATION.md`(결정)와 `/qa-e2e-pom`의 POM + 인벤토리를 읽습니다. 어휘는 POM과 API 클라이언트; 스펙은 의도만 담습니다. **코드 표준:** 클라이언트, fixture, 스펙 코드를 쓰기 전에 `{{REFERENCE_PATH}}/playwright-patterns.md`를 읽으세요 -- 템플릿(disposal context, worker-indexed 계정, 네트워크 동기화), 매처 테이블, 안티패턴 목록이 거기 있습니다. Phase 5 린트는 그 문서의 NEVER 섹션을 강제합니다. 그 다음 프로젝트 학습 파일(프리앰블 참조) -- 이 스킬에 스코프된 active `LRN-` 항목이 그 패턴들을 오버라이드합니다. ## 제약 사항 1. **로케이터를 절대 지어내지 않습니다.** 스펙과 헬퍼는 POM export만 사용합니다. POM 없는 페이지 → `/qa-e2e-pom` 스킬(build 모드)을 호출하고 그 게이트 통과 후 계속합니다. 매핑 안 된 요소에 인라인으로 `getByTestId(...)`를 쓰는 것이 이 스킬의 대표적 실패입니다. 2. **스펙은 의도만.** 스펙 파일에 `page.locator(`, raw CSS/XPath, `page.route(` 금지 -- 셀렉터는 POM에, 라우트/요청은 API 클라이언트나 fixture에 삽니다. 3. **사전 조건은 UI가 아니라 API로.** 상태는 API 클라이언트로 시딩합니다. 해당 작업의 API 호출이 관찰되지 않은 경우에만 UI 시딩 -- 그리고 보고서에 부채로 플래그합니다. 4. **병렬 안전 데이터.** 엔티티 이름에는 worker+repeat 엔트로�� -- `Date.now()`만으로는 동시 워커나 `--repeat-each` 인스턴스��� 같은 밀리초에 충돌합니다 (실전 확인 2026-08-07). 헬퍼 사용: `` `${prefix}-${Date.now()}-w${workerIndex}r${repeatEachIndex}` ``. 전역 개수 단언(`before + 1`) 금지 -- 내 엔티티를 이름/id로 단언합니다. 스위트는 ≥2 worker로 돕니다 (AUTOMATION.md가 개수와 격리 전략을 기록) -- **셋업이 플래그한 공유 상태 기능**을 건드리는 테스트는 병렬 프로젝트가 아니라 종속 `global-state` 프로젝트로 갑니다. 5. **만든 것은 공개 API로 정리합니다.** disposal context 또는 `afterEach`/`afterAll`로 -- 테스트 본문 끝 인라인 금지(실패 시 건너뜀), 테스트 환경 전용 훅(예: 리셋 엔드포인트) 의존 금지: 스위트는 그런 게 없는 환경에서도 살아남아야 합니다. 6. **상태 기반 대기만.** `waitForTimeo...

Details

Author
TimothyHan
Repository
TimothyHan/qa-buddy-skills
Created
5 months ago
Last Updated
yesterday
Language
JavaScript
License
Apache-2.0

Integrates with

Similar Skills

Semantically similar based on skill content — not just same category

Testing & QA Solid

e2e-pom

라이브 요소 디스커버리로 Page Object Model을 빌드하고 유지합니다 -- 셀렉터를 절대 추측하지 않습니다. Build 모드는 사용자와 페어링: 테스트 케이스에서 요소 인벤토리를 도출하고, 실행 중인 앱에 대해 모든 로케이터를 증명하고, 하이라이트 스크린샷으로 확인받은 후에만 POM에 넣습니다. Heal 모드는 검증 스펙이 깨졌을 때 자율 실행: 재디스커버리, 명확한 이름 변경은 자동 수정, 제거된 요소는 플래그, 그 외에는 아무것도 건드리지 않음. 사용 시점: "build POM", "page objects", "map elements", "heal selectors", "verification spec failing". 사용하지 않을 때: 초기 Playwright 셋업 시 (/qa-e2e-setup 사용), 테스트 스펙 작성 시 (/qa-e2e-write 사용), 테스트 케이스 생성 시 (/qa-test-cases 사용).

9 Updated yesterday
TimothyHan
Testing & QA Solid

e2e-setup

이 팀과 앱에 맞춘 Playwright e2e 자동화를 셋업합니다. 실행 중인 앱을 프로브(인증 방식, API 표면, 스펙 존재 여부)하고, 열린 질문 대신 추천을 제시하는 인터뷰를 진행하고, playwright/ 폴더를 스캐폴드하고, 모든 결정을 playwright/AUTOMATION.md에 기록해 다른 e2e 스킬들이 읽게 합니다. 스캐폴드가 green으로 실행되기 전까지 셋업은 끝난 것이 아닙니다. 사용 시점: "e2e setup", "set up playwright", "configure test automation", "automation setup". 사용하지 않을 때: 페이지 객체 빌드 시 (/qa-e2e-pom 사용), 테스트 스크립트 작성 시 (/qa-e2e-write 사용), QABuddy 일반 설정 시 (/qa-setup 사용).

9 Updated yesterday
TimothyHan
Testing & QA Solid

test-cases

Jira 티켓의 인수 조건(AC)에서 테스트 케이스를 생성합니다. E2E 테스트 시나리오 (단계와 기대 결과, 코드 없음)와 개발자용 단위 테스트 체크리스트를 작성합니다. 테스트 케이스는 추적성을 위해 요구사항에 매핑됩니다. 사용 시점: "테스트 케이스 작성", "테스트 생성", "PROJ-789 E2E 테스트", "이 티켓 테스트 케이스". 사용하지 않는 경우: 티켓 테스트 가능성 리뷰(/qa-review-ticket 사용), 테스트 실행(/qa-qa 사용), 앱 탐색(/qa-exploratory 사용).

9 Updated yesterday
TimothyHan