webapp-testing
Test Web Applications with Playwright Automation
Also available from: DYAI2025,ArtemisAI,davila7,7Spade,Azeem-2,7Spade,ComposioHQ,anthropics,Cam10001110101,AutumnsGrove
Local web application testing requires reliable browser automation without manual setup. This toolkit provides Playwright scripts and server management utilities to streamline frontend testing workflows.
Download the skill ZIP
Upload in Claude
Go to Settings โ Capabilities โ Skills โ Upload skill
Toggle on and start using
Test it
Using "webapp-testing". Discover all interactive elements on localhost:5173
Expected outcome:
- Found 12 buttons: [0] Submit, [1] Cancel, [2] Login...
- Found 8 links: - Dashboard -> /dashboard, - Profile -> /profile...
- Found 5 input fields: - email (email), - password (password)...
- Screenshot saved to /tmp/page_discovery.png
Using "webapp-testing". Capture console logs during user flow
Expected outcome:
- Console: [log] App initialized
- Console: [warning] Deprecated API usage
- Console: [error] Failed to load resource: net::ERR_CONNECTION_REFUSED
- Captured 15 console messages. Logs saved to outputs/console.log
Security Audit
Low RiskStatic analysis flagged 38 patterns, but manual review confirms all HIGH-severity findings are false positives. The 'weak cryptographic algorithm' detections are scanner errors on argparse code. Shell backtick findings are Markdown documentation formatting. Subprocess usage in with_server.py is intentional server management functionality requiring explicit CLI invocation. Hardcoded localhost URLs and temp file writes are expected for local testing toolkit.
Low Risk Issues (1)
Risk Factors
โ๏ธ External commands (2)
๐ Filesystem access (2)
Quality Score
What You Can Build
Frontend Regression Testing
Automate verification of UI components after code changes to catch breaking changes before deployment.
Development Server Validation
Automatically start backend and frontend servers, run integration tests, then clean up resources.
Console Log Debugging
Capture and analyze browser console output to identify JavaScript errors and warnings during user flows.
Try These Prompts
Navigate to my local React app at localhost:3000, wait for the page to fully load, and take a screenshot of the homepage.
Visit my web application and list all buttons, links, and form inputs on the current page with their text content and attributes.
Run my automation script while capturing all browser console messages. Save the logs to a file and report any errors or warnings found.
Start my backend server on port 8000 and frontend on port 5173, then run my Playwright test script that logs in, navigates to the dashboard, and verifies key elements are present. Clean up servers after tests complete.
Best Practices
- Always wait for networkidle state before interacting with dynamic pages to ensure JavaScript has fully executed
- Use the with_server.py helper script to manage server lifecycle instead of manually starting and stopping servers
- Run scripts with --help flag first to understand available options before customizing the automation logic
Avoid
- Do not inspect the DOM or take screenshots before waiting for networkidle on dynamic applications
- Avoid reading script source code into context window - use --help documentation and invoke as black-box tools
- Do not use fixed timeouts like wait_for_timeout when specific selectors can be waited for with wait_for_selector
Frequently Asked Questions
How do I test an application that requires authentication?
Can I test multiple servers simultaneously?
Why are my tests failing when the page has dynamic content?
How do I capture browser screenshots for visual debugging?
What browsers are supported for testing?
How do I install the required dependencies?
Developer Details
File structure
๐ examples/
๐ console_logging.py
๐ element_discovery.py
๐ static_html_automation.py
๐ scripts/
๐ with_server.py
๐ SKILL.md