â ã¹ãã«äžèŠ§ã«æ»ã

webapp-testing
by hscspring
ðž Scaffold AI-friendly project structures for Vibe Coding
â 10ðŽ 1ð
2026幎1æ23æ¥
SKILL.md
name: webapp-testing description: Toolkit for testing web applications using Playwright. Use when verifying frontend functionality, debugging UI behavior, capturing screenshots, or viewing browser logs.
Web Application Testing
Test web applications using Python Playwright scripts.
Decision Tree
User task â Is it static HTML?
ââ Yes â Read HTML file directly for selectors
â ââ Write Playwright script
â
ââ No (dynamic webapp) â Is server already running?
ââ No â Start server first, then test
â
ââ 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
Basic Playwright Script
from playwright.sync_api import sync_playwright
with sync_playwright() as p:
browser = p.chromium.launch(headless=True)
page = browser.new_page()
page.goto('http://localhost:5173')
page.wait_for_load_state('networkidle') # CRITICAL: Wait for JS
# Reconnaissance
page.screenshot(path='/tmp/inspect.png', full_page=True)
# Actions
page.click('button#submit')
browser.close()
Reconnaissance Pattern
-
Inspect DOM:
page.screenshot(path='/tmp/inspect.png', full_page=True) content = page.content() page.locator('button').all() -
Identify selectors from results
-
Execute actions with discovered selectors
Common Pitfall
â Inspect DOM before waiting for networkidle
â
Always page.wait_for_load_state('networkidle') first
Best Practices
- Use
sync_playwright()for synchronous scripts - Always close browser when done
- Use descriptive selectors:
text=,role=, CSS, IDs - Add waits:
wait_for_selector(),wait_for_timeout() - Launch chromium in
headless=Truemode
ã¹ã³ã¢
ç·åã¹ã³ã¢
65/100
ãªããžããªã®åè³ªææšã«åºã¥ãè©äŸ¡
âSKILL.md
SKILL.mdãã¡ã€ã«ãå«ãŸããŠãã
+20
âLICENSE
ã©ã€ã»ã³ã¹ãèšå®ãããŠãã
+10
â説ææ
100æå以äžã®èª¬æããã
0/10
â人æ°
GitHub Stars 100以äž
0/15
âæè¿ã®æŽ»å
3ã¶æä»¥å ã«æŽæ°ããã
0/10
âãã©ãŒã¯
10å以äžãã©ãŒã¯ãããŠãã
0/5
âIssue管ç
ãªãŒãã³Issueã50æªæº
+5
âèšèª
ããã°ã©ãã³ã°èšèªãèšå®ãããŠãã
+5
âã¿ã°
1ã€ä»¥äžã®ã¿ã°ãèšå®ãããŠãã
+5
ã¬ãã¥ãŒ
ð¬
ã¬ãã¥ãŒæ©èœã¯è¿æ¥å ¬éäºå®ã§ã

