Webapp Testing

Kit d'outils pour interagir avec et tester des applications web locales à l'aide de Playwright. Permet de vérifier les fonctionnalités frontend, de déboguer le comportement de l'interface utilisateur, de capturer des captures d'écran du navigateur et de consulter les journaux du navigateur. licence : Conditions complètes dans LICENSE.txt

npx skills add https://github.com/anthropics/skills --skill webapp-testing

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 abslutely necessary. These scripts can be very large and thus pollute your context window. They exist to be called directly as black-box scripts rather than ingested into your context window.

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

To start a server, run --help first, then use the helper:

Single server:

python scripts/with_server.py --server "npm run dev" --port 5173 -- python your_automation.py

Multiple servers (e.g., backend + frontend):

python scripts/with_server.py \
  --server "cd backend && python server.py" --port 3000 \
  --server "cd frontend && npm run dev" --port 5173 \
  -- python your_automation.py

To create an automation script, include only Playwright logic (servers are managed automatically):

from playwright.sync_api import sync_playwright

with sync_playwright() as p:
    browser = p.chromium.launch(headless=True) # Always launch chromium in headless mode
    page = browser.new_page()
    page.goto('http://localhost:5173') # Server already running and ready
    page.wait_for_load_state('networkidle') # CRITICAL: Wait for JS to execute
    # ... your automation logic
    browser.close()

Reconnaissance-Then-Action Pattern

  1. Inspect rendered DOM:

    page.screenshot(path='/tmp/inspect.png', full_page=True)
    content = page.content()
    page.locator('button').all()
    
  2. Identify selectors from inspection results

  3. Execute actions using discovered selectors

Common Pitfall

Don't inspect the DOM before waiting for networkidle on dynamic apps ✅ Do wait for page.wait_for_load_state('networkidle') before inspection

Best Practices

  • Use bundled scripts as black boxes - To accomplish a task, consider whether one of the scripts available in scripts/ can help. These scripts handle common, complex workflows reliably without cluttering the context window. Use --help to see usage, then invoke directly.
  • Use sync_playwright() for synchronous scripts
  • Always close the browser when done
  • Use descriptive selectors: text=, role=, CSS selectors, or IDs
  • Add appropriate waits: page.wait_for_selector() or page.wait_for_timeout()

Reference Files

  • examples/ - Examples showing common patterns:
    • element_discovery.py - Discovering buttons, links, and inputs on a page
    • static_html_automation.py - Using file:// URLs for local HTML
    • console_logging.py - Capturing console logs during automation

Plus de skills de Anthropic

Algorithmic Art
Anthropic
Création d'art algorithmique avec p5.js utilisant l'aléatoire ensemencé et l'exploration interactive de paramètres. Utilisez ceci lorsque les utilisateurs demandent la création d'art par code, d'art génératif, d'art algorithmique, de champs de flux ou de systèmes de particules. Créez un art algorithmique original plutôt que de copier le travail d'artistes existants pour éviter les violations de droits d'auteur. licence : Conditions complètes dans LICENSE.txt
creativeofficial
Brand Guidelines
Anthropic
Applique les couleurs officielles de la marque Anthropic et sa typographie à tout type d'artefact pouvant bénéficier de l'apparence et de la sensation d'Anthropic. Utilisez-le lorsque les couleurs de la marque, les directives de style, le formatage visuel ou les normes de conception de l'entreprise s'appliquent. licence : Conditions complètes dans LICENSE.txt
creativeofficial
Canvas Design
Anthropic
Créez des œuvres d'art visuelles magnifiques dans des documents .png et .pdf en utilisant une philosophie de design. Utilisez cette compétence lorsque l'utilisateur demande de créer une affiche, une œuvre d'art, un design ou toute autre pièce statique. Créez des designs visuels originaux, sans jamais copier le travail d'artistes existants pour éviter les violations de droits d'auteur. licence : Conditions complètes dans LICENSE.txt
creativeofficial
Docx
Anthropic
Création, édition et analyse complètes de documents avec prise en charge des modifications suivies, des commentaires, de la préservation du formatage et de l'extraction de texte. Lorsque Claude doit travailler avec des documents professionnels (fichiers .docx) pour : (1) Créer de nouveaux documents, (2) Modifier ou éditer du contenu, (3) Travailler avec des modifications suivies, (4) Ajouter des commentaires, ou toute autre tâche documentaire licence : Propriétaire. LICENSE.txt contient les conditions complètes
documentofficial
Frontend Design
Anthropic
Génère des interfaces frontend distinctives et de qualité professionnelle, évitant l’esthétique générique de l’IA.
developmentfeaturedofficial
Internal Comms
Anthropic
A set of resources to help me write all kinds of internal communications, using the formats that my company likes to use. Claude should use this skill whenever asked to write some sort of internal communications (status reports, leadership updates, 3P updates, company newsletters, FAQs, incident reports, project updates, etc.). license: Complete terms in LICENSE.txt
official
MCP Builder
Anthropic
Guide pour créer des serveurs MCP (Model Context Protocol) de haute qualité permettant aux LLM d'interagir avec des services externes via des outils bien conçus. À utiliser lors de la construction de serveurs MCP pour intégrer des API ou services externes, que ce soit en Python (FastMCP) ou Node/TypeScript (MCP SDK). licence : Conditions complètes dans LICENSE.txt
developmentofficial
Artifacts Builder
Anthropic
Suite d'outils pour créer des artefacts HTML claude.ai élaborés et multi-composants à l'aide de technologies frontend web modernes (React, Tailwind CSS, shadcn/ui). À utiliser pour les artefacts complexes nécessitant une gestion d'état, un routage ou des composants shadcn/ui - pas pour les artefacts HTML/JSX simples à fichier unique. licence : Conditions complètes dans LICENSE.txt
development