Pular para o conteúdo
Skillpedia
Testes181 mil · #331

webapp-testing

Permite testar aplicações web locais, verificar funcionalidades e depurar o comportamento da interface. Captura screenshots e logs do navegador.

O que ela faz

Esta ferramenta ajuda a testar sites que você está desenvolvendo no seu computador. Ela permite verificar se tudo está funcionando corretamente, tirar 'fotos' da tela e ver mensagens de erro.

Quando usar

  • ✓Quando você quer ver se um botão no seu site funciona.
  • ✓Quando você quer tirar uma foto de como seu site está aparecendo.
  • ✓Quando você quer ver se há erros acontecendo no site.

Exemplo do que pedir para a IA

“Verifique se o botão 'Salvar' funciona na minha página de perfil e tire uma captura de tela.”

Quer saber mais? Abra as seções abaixo.

Como usar

O jeito mais fácil: copie a mensagem abaixo e cole no Claude, ChatGPT, Cursor ou outra IA. Ela lê a skill e segue as instruções.

Link da skill

https://github.com/anthropics/skills/blob/main/skills/webapp-testing/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/anthropics/skills/blob/main/skills/webapp-testing/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
Como funciona

Você escreve um pequeno programa em Python que usa a ferramenta para abrir seu site, interagir com ele e verificar se tudo está como esperado. Ela pode até iniciar o servidor do seu site para você.

Instalação

Jeito mais fácil: copie o link da skill e cole no Claude, ChatGPT ou Cursor pedindo para seguir as instruções.

No terminal (Claude Code, Codex, Cursor), na pasta do projeto:

npx skills add anthropics/skills --skill webapp-testing

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/anthropics/skills/main/skills/webapp-testing/SKILL.md -o SKILL.md
Conteúdo técnico (SKILL.md)

Tradução do texto original do autor no GitHub. Os comandos e códigos estão como no original.

Testes de Aplicações Web

Para testar aplicações web locais, escreva scripts nativos em Python com Playwright.

Scripts Auxiliares Disponíveis:

  • scripts/with_server.py - Gerencia o ciclo de vida do servidor (suporta múltiplos servidores)

Sempre execute os scripts com --help primeiro para ver o uso. NÃO leia o código fonte antes de tentar executar o script primeiro e descobrir que uma solução personalizada é absolutamente necessária. Esses scripts podem ser muito grandes e, portanto, poluir sua janela de contexto. Eles existem para serem chamados diretamente como caixas pretas, em vez de serem ingeridos em sua janela de contexto.

Árvore de Decisão: Escolhendo Sua Abordagem

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

Exemplo: Usando with_server.py

Para iniciar um servidor, execute --help primeiro e depois use o auxiliar:

Servidor único:

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

Múltiplos servidores (ex: 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

Para criar um script de automação, inclua apenas a lógica do Playwright (servidores são gerenciados automaticamente):

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()

Padrão Reconhecimento-Então-Ação

  1. Inspecione o DOM renderizado:

    page.screenshot(path='/tmp/inspect.png', full_page=True)
    content = page.content()
    page.locator('button').all()
    
  2. Identifique seletores a partir dos resultados da inspeção

  3. Execute ações usando os seletores descobertos

Armadilha Comum

❌ Não inspecione o DOM antes de esperar por networkidle em aplicações dinâmicas ✅ Faça esperar por page.wait_for_load_state('networkidle') antes da inspeção

Melhores Práticas

  • Use scripts empacotados como caixas pretas - Para realizar uma tarefa, considere se um dos scripts disponíveis em scripts/ pode ajudar. Esses scripts lidam com fluxos de trabalho comuns e complexos de forma confiável, sem poluir a janela de contexto. Use --help para ver o uso e, em seguida, invoque diretamente.
  • Use sync_playwright() para scripts síncronos
  • Sempre feche o navegador quando terminar
  • Use seletores descritivos: text=, role=, seletores CSS ou IDs
  • Adicione esperas apropriadas: page.wait_for_selector() ou page.wait_for_timeout()

Arquivos de Referência

  • examples/ - Exemplos mostrando padrões comuns:
    • element_discovery.py - Descobrindo botões, links e campos de entrada em uma página
    • static_html_automation.py - Usando URLs file:// para HTML local
    • console_logging.py - Capturando logs do console durante a automação
Perguntas frequentes

O que significa 'headless'?

Significa que o navegador abre sem mostrar a janela na tela, rodando em segundo plano para automatizar tarefas.

Por que devo esperar por 'networkidle'?

Isso garante que o site terminou de carregar todas as informações e animações antes de você tentar interagir ou verificar algo.

O que são 'selectors'?

São como endereços que a ferramenta usa para encontrar botões, textos ou campos específicos no seu site.

Detalhes

Descrição original do autor

Toolkit for interacting with and testing local web applications using Playwright. Supports verifying frontend functionality, debugging UI behavior, capturing browser screenshots, and viewing browser logs.

repo: anthropics/skills

Popularidade

Estrelas no GitHub
181 mil
Posição no ranking
#331
Licença
—
Atualizada em
09/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas