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
Mensagem pronta para colar
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-testingOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/ComposioHQ/awesome-claude-skills/master/webapp-testing/SKILL.md -o SKILL.mdConteú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
Inspecione o DOM renderizado:
page.screenshot(path='/tmp/inspect.png', full_page=True) content = page.content() page.locator('button').all()Identifique seletores a partir dos resultados da inspeção
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--helppara 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()oupage.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áginastatic_html_automation.py- Usando URLs file:// para HTML localconsole_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.
Popularidade
- Estrelas no GitHub
- 77 mil
- Posição no ranking
- #1713
- Licença
- —
- Atualizada em
- 18/09/2026
Comentários
- …
Mais skills deste repositório
artifacts-builder
Ajuda seu agente a construir interfaces de usuário complexas. Ele usa tecnologias modernas para criar páginas web interativas e ricas.
ComposioHQ/awesome-claude-skills
brand-guidelines
Ajuda seu agente a aplicar cores e fontes oficiais da marca em materiais. É útil para manter a identidade visual em qualquer peça que precise ter a cara da empresa.
ComposioHQ/awesome-claude-skills
canvas-design
Faz seu agente criar artes visuais originais em .png e .pdf. Use quando o usuário pedir para criar um pôster, arte ou design estático.
ComposioHQ/awesome-claude-skills
changelog-generator
Ajuda seu agente a criar notas de lançamento para usuários a partir de códigos de programação. Transforma informações técnicas em textos fáceis de entender.
ComposioHQ/awesome-claude-skills
Skills parecidas
cpp-testing
Faz seu agente escrever e melhorar testes para código C++. Ajuda a configurar ferramentas de teste e a corrigir erros.
affaan-m/ECC
csharp-testing
Ajuda seu agente a criar testes para código C# e .NET. Ele usa as melhores práticas para garantir que os testes sejam eficientes e confiáveis.
affaan-m/ECC
django-tdd
Faz seu agente aplicar estratégias de teste para Django com pytest-django e TDD. É útil para escrever testes robustos e garantir a qualidade do código, especialmente para APIs DRF.
affaan-m/ECC