Pular para o conteúdo
Skillpedia
Automações48 mil · #2452

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

https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/browser-automation/SKILL.md

Mensagem pronta para colar

Use esta skill para me ajudar: https://github.com/sickn33/agentic-awesome-skills/blob/main/plugins/agentic-awesome-skills-claude/skills/browser-automation/SKILL.md Leia o arquivo SKILL.md desse link e siga as instruções dele na minha tarefa.
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-automation

Ou 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.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.

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.

repo: sickn33/agentic-awesome-skills

Popularidade

Estrelas no GitHub
48 mil
Posição no ranking
#2452
Licença
MIT
Atualizada em
15/10/2026

Essa skill é útil?

0

Entre para votar.

Comentários

  • …

Mais skills deste repositório

Skills parecidas