browser-automation
Faz seu agente criar testes confiáveis para a web. Ele entende a interface e espera o tempo certo para verificar se tudo funciona.
O que ela faz
Esta ferramenta ajuda a testar e automatizar ações em um navegador web. Ela permite que você diga ao computador para clicar em botões, preencher formulários e verificar se as coisas aparecem na tela, como se um usuário estivesse usando o site.
Quando usar
- ✓Quando você quer ter certeza de que um site funciona como esperado.
- ✓Para testar se um novo recurso em um site está funcionando corretamente.
- ✓Para verificar se as informações em uma página da web estão corretas.
Exemplo do que pedir para a IA
“Peça para a IA clicar no botão 'Comprar' e depois verificar se o número de itens no carrinho é 1.”
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
A ferramenta usa um programa (como Playwright ou Puppeteer) para controlar um navegador. Ela encontra elementos na página (como botões ou campos de texto) e realiza ações neles, verificando o resultado.
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 sickn33/agentic-awesome-skills --skill browser-automationOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/browser-automation/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.
Automação de Navegador
Use a ferramenta de navegador já selecionada pelo usuário ou instalada no projeto. Playwright, Puppeteer e Selenium têm integrações diferentes; escolha com base nos requisitos reais em vez de alegações de sucesso não comprovadas. Modificado pelos mantenedores do AAS em 05/09/2026: removidas comparações não verificadas e padrões de bypass, esclarecidos limites de espera e evidências.
Separe testes de aplicações que você controla da interação com um navegador autenticado existente. Não substitua este último por uma sessão nova e não autenticada ou extraia credenciais para fazer um teste de automação funcionar.
Guia Detalhado
Leia o guia detalhado antes de executar esta habilidade. Ele contém o procedimento completo e o material de referência. Trate seus requisitos de segurança, pré-requisitos e validação como obrigatórios. Para trabalho focado, carregue as seções relevantes; para trabalho de ponta a ponta, leia o guia completamente.
Exemplo de Teste com Playwright
""" import { test, expect } from '@playwright/test';
// Cada teste é executado em um contexto de navegador isolado test('usuário pode adicionar item ao carrinho', async ({ page }) => { // Contexto novo - sem cookies, sem armazenamento de outros testes await page.goto('/products'); await page.getByRole('button', { name: 'Add to Cart' }).click(); await expect(page.getByTestId('cart-count')).toHaveText('1'); });
test('usuário pode remover item do carrinho', async ({ page }) => { // Completamente isolado - o carrinho está vazio await page.goto('/cart'); await expect(page.getByText('Your cart is empty')).toBeVisible(); }); """
Bons Exemplos (Voltados para o Usuário)
""" // Por role - A MELHOR ESCOLHA await page.getByRole('button', { name: 'Submit' }).click(); await page.getByRole('link', { name: 'Sign up' }).click(); await expect(page.getByRole('heading', { name: 'Dashboard' })).toBeVisible(); await page.getByRole('textbox', { name: 'Search' }).fill('query');
// Por conteúdo de texto await expect(page.getByText('Welcome back')).toBeVisible(); await page.getByText(/Order #\d+/).click(); // Regex suportado
// Por label (formulários) await page.getByLabel('Email address').fill('user@example.com'); await page.getByLabel('Password').fill('secret');
// Por placeholder await page.getByPlaceholder('Search...').fill('query');
// Por ID de teste (quando nenhuma opção voltada para o usuário funciona) await page.getByTestId('submit-button').click(); """
Maus Exemplos (Frágeis)
""" // NÃO FAÇA - Seletores CSS presos à estrutura await page.locator('.btn-primary.submit-form').click(); await page.locator('#header > div > button:nth-child(2)').click();
// NÃO FAÇA - XPath preso à estrutura await page.locator('//div[@class="form"]/button[1]').click();
// NÃO FAÇA - Seletores gerados automaticamente await page.locator('[data-v-12345]').click(); """
Quando Usar
Use para verificar um fluxo de trabalho real do navegador, diagnosticar uma falha de tempo de UI ou coletar dados de página explicitamente autorizados. Inspecione a página atual e as APIs de ferramentas disponíveis antes de selecionar seletores ou ações.
Exemplo Trabalhado e Pré-requisitos
Entrada: exportar um arquivo JSON revisado de um aplicativo web local. Tenha o aplicativo em execução, o navegador pretendido disponível e um valor de formulário sintético. Observe o controle de exportação, registre o evento de download antes de clicar, inspecione o JSON baixado e confirme que a edição da entrada invalida a visualização anterior. Esperado: um arquivo contendo o valor revisado, sem dados ocultos do projeto ou envio de rede.
Use visualizações explícitas de desktop/mobile e inspecione o comportamento do teclado/foco quando a tarefa incluir usabilidade. Um desktop bloqueado deixa a verificação interativa pendente; testes unitários e sondagens sem interface gráfica são evidências separadas.
Limitações
- Verificações de espera automática verificam a ação, não a correção comercial ou gravações bem-sucedidas no backend.
- Capturas de tela, HTML, rastros e arquivos de estado de autenticação podem conter informações privadas; capture apenas o escopo autorizado.
- Tentar ler novamente pode ser seguro; tentar novamente checkout, exclusão ou envio de mensagem pode duplicar um efeito colateral. Verifique o estado antes de repeti-lo.
- Bloqueio de recursos e respostas simuladas alteram o ambiente e não podem estabelecer comportamento de produção não modificado.
- Exemplos exigem as importações do projeto, o runner e as rotas de fixture; nenhum navegador, serviço ou conta é instalado por esta habilidade.
Perguntas frequentes
O que são 'locators semânticos'?
São formas inteligentes de encontrar botões ou campos de texto na página, como pelo texto que aparece neles ('Enviar') ou por um rótulo associado ('Endereço de E-mail'), em vez de códigos complicados.
Por que não devo usar seletores CSS ou XPath?
Porque eles dependem muito da estrutura exata da página. Se a página mudar um pouco, esses seletores param de funcionar, tornando os testes frágeis.
A ferramenta pode fazer login em sites para mim?
Não é recomendado usar esta ferramenta para extrair credenciais ou substituir uma sessão de navegador autenticada. Ela é mais para testar fluxos específicos em um ambiente controlado.
Detalhes
Descrição original do autor
Build reliable browser checks using observed UI state, semantic locators, bounded waits, isolated test data and explicit outcome verification.
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #2452
- Licença
- MIT
- Atualizada em
- 15/10/2026
Comentários
- …
Mais skills deste repositório
00-andruia-consultant
Ajuda seu agente a iniciar ou melhorar projetos de IA. Ele analisa código, sugere ferramentas e cria planos de ação em espanhol.
sickn33/agentic-awesome-skills
007
Faz seu agente realizar auditorias de segurança e modelagem de ameaças. É útil para proteger projetos contra ataques e vulnerabilidades.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Ajuda seu agente a criar ou melhorar ferramentas de IA. Ele define como as ferramentas funcionam, escreve a documentação e valida a estrutura.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Faz seu agente criar um resumo sobre um setor específico. É útil para entender o contexto, regras, padrões de uso e riscos de um projeto, usando fontes confiáveis.
sickn33/agentic-awesome-skills
Skills parecidas
benchmark
Ajuda seu agente a medir a velocidade e a performance do código. É útil para garantir que as coisas estão rápidas e para encontrar problemas de lentidão.
affaan-m/ECC
content-hash-cache-pattern
Faz seu agente usar hashes de conteúdo para cachear resultados de processamento de arquivos. Isso evita processamento repetido e invalida o cache automaticamente quando o conteúdo muda. Útil para acelerar tarefas lentas.
affaan-m/ECC
parallel-execution-optimizer
Faz seu agente acelerar tarefas complexas dividindo-as em partes menores e executando-as em paralelo. Garante que tudo seja verificado ao final.
affaan-m/ECC