e2e-pom

Solid

라이브 요소 디스커버리로 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 사용).

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-pom: 페이지 객체 디스커버리 & 힐링 두 가지 모드. **Build**는 인터랙티브 -- 발견한 것을 사용자가 확인합니다 (헤드리스: 증명 실행 -- 개수 1, 가시 -- 이 곧 확인이며, 모호함은 Heal과 똑같이 플래그하지 절대 고르지 않습니다). **Heal**은 자율 실행 -- 드리프트를 수리하고 수리할 수 없는 것은 플래그합니다. 둘 다 POM 스타일, 인증, white-box 모드를 위해 `playwright/AUTOMATION.md` (`/qa-e2e-setup` 산출물)를 읽습니다. AUTOMATION.md 없음 → `/qa-e2e-setup` 먼저. **코드 표준:** POM 코드를 쓰기 전에 `{{REFERENCE_PATH}}/playwright-patterns.md`를 읽으세요 -- POM 템플릿, 셀렉터 규칙, exact-match / 스코핑 함정이 거기 있습니다. 그 다음 프로젝트 학습 파일(프리앰블 참조) -- 이 스킬에 스코프된 active `LRN-` 항목이 그 패턴들을 오버라이드합니다. ## 제약 사항 1. **라이브 증명 없이 로케이터 없음.** 셀렉터는 실행 중인 앱에 대해 실행된 후에만 POM에 들어갑니다: 해석됨, 기대 개수(1, 또는 스코프된 n), 보임. 디스커버리 중 앱 접속 불가 → 증명 안 된 요소는 POM 밖에 남고 상태는 BLOCKED. 그럴듯한 추측을 절대 쓰지 않습니다. 2. **수요 기반 인벤토리.** 주어진 테스트 케이스가 건드리는 요소만 매핑합니다. "온 김에 전부 매핑해줘"라는 요청은 거절하고 설명합니다: 참조되지 않는 요소는 검증 불가능한 유지보수 부채 -- 테스트 케이스가 필요로 할 때 매핑됩니다. 3. **셀렉터 우선순위:** `getByTestId` > `getByRole(name)` > label/placeholder > CSS (최후 수단, `fragile: true` 표시). XPath 금지. 4. **중복은 인덱싱이 아니라 스코핑으로.** 로케이터가 요소 2개 이상에 매칭되면 (숨겨진 채 attached된 것도 셈!), 부모로 스코프(`row.getByTestId`)하지 `.nth()`를 쓰지 않습니다. DOM이 해소 못 하는 모호함 → 사용자에게 질문 (build) 또는 플래그 (heal). 5. **이름 조회는 exact-match.** `filter({ hasText: name })`은 부분 일치 -- "Pliers"가 "Combination Pliers"에도 매칭됩니다. 이름 기반 행/카드 로케이터는 `filter({ has: page.getByText(name, { exact: true }) })`. (실전에서 확인: 엉뚱한 상품 클릭 + strict mode 위반, 2026-08-07.) 6. **검증 스펙이 게이트입니다.** build/heal이 DONE을 보고하기 전에 `pom-verification.spec.ts`가 green이어야 합니다. 드리...

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-write

테스트 케이스로부터 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 사용).

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 Listed

e2e-testing

Playwright E2E testing patterns, Page Object Model, configuration, CI/CD integration, artifact management, and flaky test strategies.

0 Updated yesterday
TeiNam