Pular para o conteúdo
Skillpedia
Testes77 mil · #1713

webapp-testing

Ajuda seu agente a testar aplicações web locais. Ele verifica a interface, depura o comportamento e captura telas.

O que ela faz

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

Quando usar

  • ✓Quando você quer ver se um botão no seu site funciona.
  • ✓Para tirar uma 'foto' de como seu site está aparecendo.
  • ✓Para verificar se as mensagens de erro do site aparecem corretamente.

Exemplo do que pedir para a IA

“Verifique se o botão 'Salvar' na página de perfil funciona 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/ComposioHQ/awesome-claude-skills/blob/master/webapp-testing/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/ComposioHQ/awesome-claude-skills/blob/master/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á certo. A ferramenta 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 ComposioHQ/awesome-claude-skills --skill webapp-testing

Ou baixe só o arquivo:

curl -L https://raw.githubusercontent.com/ComposioHQ/awesome-claude-skills/master/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 até 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 espere 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 gerenciam 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 ser mais rápido.

Por que esperar por 'networkidle'?

É importante esperar o site carregar completamente, incluindo todos os elementos dinâmicos, antes de testar ou tirar 'fotos', para garantir que você está vendo o resultado final.

O que são 'selectors'?

São como 'endereços' que a ferramenta usa para encontrar botões, textos ou outros elementos específicos na página do 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: ComposioHQ/awesome-claude-skills

Popularidade

Estrelas no GitHub
77 mil
Posição no ranking
#1713
Licença
—
Atualizada em
18/09/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas