# Web App Testing (webapp-testing)

> Tests local web applications with native Python Playwright scripts, capturing screenshots and browser logs, with a helper that manages servers.

- Category: [Testing & Debugging](https://www.myskills.tools/en/categories/testing-debugging/)
- Source: Official · Anthropic
- Repository: 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
- Install command: `npx skills add anthropics/skills --skill webapp-testing`
- License: Apache-2.0
- Compatible with: Claude Code
- Permissions: read-repo ✓, write-files ✓, shell ✓, network ✗
- Status: Scan passed
- A rule scan cannot catch every risk. Read this skill's SKILL.md and check its permissions before installing.

## Core rule

On dynamic apps, always wait for networkidle before inspecting the DOM.

## Execution Phases

1. **Choose the approach** — For static HTML, read the file to find selectors; for a dynamic app, check whether the server is already running.
2. **Start the servers** — Run scripts/with_server.py --help first, then use it to start one or more servers around the automation script.
3. **Reconnaissance** — Navigate, wait for networkidle, then take a screenshot or inspect the rendered DOM to identify selectors.
4. **Act** — Run actions with the discovered selectors in headless Chromium, capture console logs if needed, and close the browser.

## Permissions (summarised from SKILL.md)

| Capability | Needed | Details |
|---|---|---|
| File writes | Required | Writes Playwright automation scripts and saves screenshots locally. |
| Command execution | Limited | Runs Python Playwright scripts and starts local servers with with_server.py. |
| Network outbound | Not required | Only targets locally running apps (localhost or file://), with no external network access. |

## SKILL.md frontmatter (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
---
```

Home: https://www.myskills.tools/en/ · URL: https://www.myskills.tools/en/skills/webapp-testing/
