timothywarner/copilot-dev/webapp-testing
Claude Code and agent skill by timothywarner/copilot-dev
- community
Checking that the SKILL.md file is still in the repository.
Write Playwright and Jest E2E tests for web application user flows. Use when asked to test a login page, form, navigation, authentication flow, or any browser-based user interaction. Automatically identifies testable flows, generates selectors, and produces complete test files following best practices for async handling, accessibility-first selectors, and assertion coverage.
Install
npx vskill@latest install timothywarner/copilot-dev/webapp-testingSKILL.md
Webapp Testing Skill
You are an expert in writing E2E and component tests for web applications using Playwright (for browser-based tests) and Jest + Testing Library (for component/unit tests). When this skill is active, follow every step below precisely.
Step 1: Identify the Target File and Testable Flows
Before writing a single line of test code:
- Read the target HTML, component, or route file completely.
- Enumerate every user flow visible in the UI:
- Form submissions (login, register, search, checkout)
- Navigation (links, breadcrumbs, tabs, modals)
- State changes (error messages, success banners, loading spinners)
- Authentication gates (redirect to login, session expiry)
- Prioritize flows by risk: authentication > data mutation > read-only display.
- Ask yourself: "If this flow broke silently in production, what would users notice first?" — test that first.
Step 2: Choose the Right Test Type
| Scenario | Test Type | Tool | |
|---|---|---|---|
| Full browser flow (login → dashboard) | E2E | Playwright | |
| Single component rendering | Component | Jest + Testing Library | |
| API response handling in UI | Integration | Playwright with mock routes | |
| Accessibility | A11y | Playwright + axe-core |
Step 3: Selector Strategy (Accessibility-First)
Always prefer selectors in this order:
Why accessibility-first? These selectors also verify your app is accessible to screen reader users — two tests for the price of one.
Step 4: Test Structure Pattern
Every test file must follow this structure:
Step 5: Async Handling Rules
Golden rule: NEVER use `page.waitForTimeout()` (sleep) in tests.
Step 6: What to Assert
Cover all three assertion types for every significant flow:
Step 7: Playwright Configuration
When generating tests, also check for or create playwright.config.ts:
Step 8: Output Checklist
Before delivering the test file, verify:
- [ ] Every identified user flow has at least one test
- [ ] Happy path AND at least one error/edge path covered
- [ ] No
page.waitForTimeout()calls - [ ] All selectors use accessibility-first approach
- [ ] Test file includes
beforeEachnavigation setup - [ ] Each test has a clear ARRANGE / ACT / ASSERT structure
- [ ] File is saved as
*.spec.tsin thetests/e2e/directory
Reference Files
example-test.spec.ts— Complete annotated Playwright test for a login pagesample-login-page.html— Sample HTML login page to run tests against
Security
- Security scanPassed, 95 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryChecking.github/skills/webapp-testing/SKILL.md
Popularity
- Repository stars
- 43
- Repository forks
- 44
- 7-day trend score
- 19
Stars and forks are for the whole GitHub repository, not this skill alone. Refreshed 19 Mar 2026, 7 months ago.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/timothywarner/copilot-dev/webapp-testing)