# 웹 앱 테스트 (webapp-testing)

> Python Playwright 스크립트를 작성해 로컬 웹 앱을 테스트하고 스크린샷과 브라우저 로그를 확인합니다.

- 카테고리: [테스트·디버깅](https://www.myskills.tools/ko/categories/testing-debugging/)
- 출처: 공식 · Anthropic
- 저장소: https://github.com/anthropics/skills/tree/main/skills/webapp-testing (commit b9e19e6)
- SKILL.md: https://github.com/anthropics/skills/blob/main/skills/webapp-testing/SKILL.md
- 설치 명령: `npx skills add anthropics/skills --skill webapp-testing`
- 라이선스: Apache-2.0
- 호환 도구: Claude Code
- 권한: read-repo ✓, write-files ✓, shell ✓, network ✗
- 상태: 스캔 통과
- 규칙 스캔으로 모든 위험을 찾을 수는 없습니다. 설치 전에 이 스킬의 SKILL.md를 읽고 권한을 확인하세요.

## 핵심 규칙

동적 앱에서는 DOM을 살펴보기 전에 반드시 networkidle을 기다립니다.

## 실행 단계

1. **방식 선택** — 정적 HTML이면 파일을 직접 읽어 선택자를 찾고, 동적 앱이면 서버가 이미 실행 중인지 확인합니다.
2. **서버 실행** — 먼저 scripts/with_server.py --help를 실행한 뒤 이를 사용해 하나 이상의 서버를 띄우고 자동화 스크립트를 실행합니다.
3. **페이지 정찰** — 페이지를 열고 networkidle을 기다린 뒤, 스크린샷이나 렌더링된 DOM에서 선택자를 찾습니다.
4. **동작 실행** — 헤드리스 Chromium에서 찾은 선택자로 동작을 실행하고 필요하면 콘솔 로그를 기록한 뒤 브라우저를 닫습니다.

## 권한 설명 (SKILL.md 기준)

| 기능 | 필요 여부 | 설명 |
|---|---|---|
| 파일 쓰기 | 필요 | Playwright 자동화 스크립트를 작성하고 스크린샷을 로컬에 저장합니다. |
| 명령 실행 | 일부 필요 | Python Playwright 스크립트를 실행하고 with_server.py로 로컬 서버를 띄웁니다. |
| 네트워크 송신 | 필요 없음 | 로컬에서 실행 중인 앱(localhost 또는 file://)에만 접근하며 외부 네트워크는 쓰지 않습니다. |

## SKILL.md 프런트매터(YAML)

```yaml
---
name: webapp-testing
description: Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.
license: Complete terms in LICENSE.txt
---
```

홈: https://www.myskills.tools/ko/ · URL: https://www.myskills.tools/ko/skills/webapp-testing/
