warpdotdev avatar

Webapp Testing

This is a Playwright wrapper for testing local webapps without wrestling with server lifecycle management. The with_server.py helper starts your dev servers (supports multiple at once), waits for them to be ready, runs your test script, then tears everything down. The skill pushes a "reconnaissance then action" pattern: navigate, wait for networkidle, screenshot or inspect the DOM, identify your selectors from what actually rendered, then automate. It's honest about the main footgun, which is trying to grab selectors before JavaScript finishes executing. Includes examples for static HTML, console logging, and element discovery. If you're tired of manually starting servers before running UI tests, this handles the boring parts.

skills.sh installs
192
GitHub stars
824
last updated
Aug 21, 2026

Install

$ npx -y skills add warpdotdev/oz-skills --skill webapp-testing --agent claude-code

Installs into .claude/skills of the current project.

Files

Web Application Testing

To test local web applications, write native Python Playwright scripts.

Helper Scripts Available:

  • scripts/with_server.py - Manages server lifecycle (supports multiple servers)

Always run scripts with --help first to see usage. DO NOT read the source until you try running the script first and find that a customized solution is absolutely necessary.

Decision Tree: Choosing Your Approach

User task → Is it static HTML?
    ├─ Yes → Read HTML file directly to identify selectors
    │         ├─ Success → Write Playwright script using selectors
    │         └─ Fails/Incomplete → Treat as dynamic (below)
    │
    └─ No (dynamic webapp) → Is the server already running?
        ├─ No → Run: python scripts/with_server.py --help
        │        Then use the helper + write simplified Playwright script
        │
        └─ Yes → Reconnaissance-then-action:
            1. Navigate and wait for networkidle
            2. Take screenshot or inspect DOM
            3. Identify selectors from rendered state
            4. Execute actions with discovered selectors

Example: Using with_server.py

Sponsors

Details

Repository
github.com/warpdotdev/oz-skills
Categories
Frontend Development, Testing & QA, Debugging, Automation & Workflows
First seen
Jun 3, 2026

More from warpdotdev/oz-skills

All 9
1qodex-ai avataraesthetic-analysisqodex-ai/ai-agent-skillsAnalyze and extract design patterns from visual examples. Deconstructs design systems, color palettes, typography, and layout principles from reference material190skills.sh installs
2davila7 avatarplaywrightdavila7/claude-code-templatesUse when the task requires automating a real browser from the terminal (navigation, form filling, snapshots, screenshots, data extraction, UI-flow debugging) vi185skills.sh installs
3rand avatarelegant-designrand/cc-polymathCreate world-class, accessible, responsive interfaces with sophisticated interactive elements including chat, terminals, code display, and streaming content. Us184skills.sh installs
4google-labs-code avatarinkgoogle-labs-code/design.mdInk terminal renderer for json-render that turns JSON specs into interactive terminal UIs. Use when working with @json-render/ink, building terminal UIs from JS169skills.sh installs
5rohitg00 avatarwiki-viewerrohitg00/pro-workflowRender a self-contained HTML viewer for a pro-workflow wiki. Pages, sources, claims, seed queue, page-link graph and full-text search all in one file. No extern153skills.sh installs
6raphaelsalaja avatarpseudo-elementsraphaelsalaja/userinterface-wikiAudit CSS for pseudo-element best practices and View Transitions API usage. Use when reviewing hover effects, decorative layers, or page transitions. Outputs fi139skills.sh installs