testdriver-e2e-testing
Ajuda seu agente a criar testes completos para verificar se o software funciona corretamente. Ele encontra erros e cria testes para evitar que eles reapareçam.
O que ela faz
TestDriver ajuda a criar testes automáticos para verificar se seu site ou aplicativo funciona como esperado. Ele simula um usuário real interagindo com a interface, encontra problemas e cria testes para evitar que eles reapareçam.
Quando usar
- ✓Quando você precisa criar um teste automático para um site ou aplicativo.
- ✓Quando um fluxo de usuário é difícil de automatizar com métodos tradicionais.
- ✓Quando você quer ter certeza de que uma página ou funcionalidade específica está funcionando.
Exemplo do que pedir para a IA
“Crie um teste automático para verificar se o formulário de login do meu site funciona.”
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ê instala o TestDriver no seu projeto e escreve testes em linguagem natural descrevendo o que a interface deve fazer. O TestDriver executa esses testes em um ambiente seguro e relata quaisquer problemas encontrados.
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 testdriver-e2e-testingOu baixe só o arquivo:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/testdriver-e2e-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.
TestDriver: Testes End-to-End
Visão Geral
TestDriver é um revisor de código com IA que realmente executa seu aplicativo. Ele executa automaticamente cada pull request em um sandbox de desktop real, encontra bugs e cria testes de regressão. Os testes controlam navegadores e aplicativos nativos usando descrições de elementos em linguagem natural e visão computacional de IA, e são executados como suítes Vitest. Esta habilidade ensina um agente a criar, executar e depurar testes TestDriver.
Quando Usar Esta Habilidade
- Use quando precisar escrever um teste end-to-end para um aplicativo web ou desktop.
- Use ao automatizar um fluxo de trabalho de UI que não possui seletores estáveis (canvas, Electron, aplicativos nativos).
- Use quando o usuário pedir para verificar se uma página ou fluxo funciona ("verificar se a página de login funciona").
- Use ao depurar um teste TestDriver com falha.
Como Funciona
Etapa 1: Configurar o projeto
npx testdriverai init
Isso gera package.json, testes de exemplo, vitest.config.mjs e um fluxo de trabalho do GitHub Actions. O usuário deve definir TD_API_KEY em .env (obtenha uma chave em https://console.testdriver.ai/team).
Etapa 2: Escrever um teste
Os testes são suítes Vitest usando os hooks do TestDriver:
import { describe, expect, it } from "vitest";
import { TestDriver } from "testdriverai/vitest/hooks";
describe("Login", () => {
it("signs in successfully", async (context) => {
const testdriver = TestDriver(context);
await testdriver.provision.chrome({ url: "https://example.com/login" });
const email = await testdriver.find("email input field");
await email.click();
await testdriver.type("user@example.com");
const submit = await testdriver.find("Sign In button");
await submit.click();
const result = await testdriver.assert("the dashboard is visible");
expect(result).toBeTruthy();
});
});
Etapa 3: Executar e iterar
vitest run tests/login.test.mjs
Capturas de tela são tiradas automaticamente antes e depois de cada comando e salvas em .testdriver/screenshots/, nomeadas com o número da linha de origem para facilitar a depuração.
Exemplos
Exemplo 1: Testando um aplicativo desktop (Electron)
await testdriver.provision.electron({ appPath: "./dist/my-app" });
const menu = await testdriver.find("File menu in the menu bar");
await menu.click();
Exemplo 2: Esperando por elementos lentos
const done = await testdriver.find("Loading complete indicator", { timeout: 30000 });
await done.click();
Melhores Práticas
- ✅ Use descrições de elementos específicas ("botão azul de Login no cabeçalho", não apenas "botão").
- ✅ Defina ambos
testTimeoutehookTimeoutpara 900000 emvitest.config.mjs. - ✅ Adicione chamadas
assert()para condições verificáveis de sucesso/falha. - ✅ Sempre
awaitcada chamada TestDriver. - ❌ Não use
npx vitest; executevitest rundiretamente. - ❌ Não confie em seletores CSS; o TestDriver localiza elementos visualmente.
Limitações
- Requer uma chave de API TestDriver (
TD_API_KEY) e acesso à rede para provisionar sandboxes. - Funciona apenas com Vitest como executor de testes.
- Esta habilidade não substitui a validação específica do ambiente, testes ou revisão de especialistas.
Notas de Segurança e Proteção
npx testdriverai initgrava arquivos de projeto no diretório atual; execute-o apenas em um projeto que você pretende modificar.- A credencial
TD_API_KEYpertence a.env(ignorado pelo git no scaffold). Nunca a envie. - Os testes são executados dentro de um sandbox remoto isolado, não na máquina local.
Armadilhas Comuns
- Problema: Hooks de limpeza falham com um timeout de 10s.
Solução: Defina
hookTimeout: 900000emvitest.config.mjs; o desmonte do sandbox e o upload de gravações levam mais tempo do que o padrão do Vitest. - Problema: A rolagem não faz nada. Solução: Um campo de entrada está em foco. Pressione Escape ou clique no fundo da página primeiro, depois role.
Habilidades Relacionadas
@webapp-testing- Alternativa baseada em Playwright para aplicativos web locais com seletores DOM estáveis.
Perguntas frequentes
Preciso de alguma chave especial para usar?
Sim, você precisa de uma chave de API do TestDriver, que pode ser obtida no site deles e configurada de forma segura no seu projeto.
Onde os testes são executados?
Os testes rodam em um ambiente seguro e isolado na nuvem, não na sua máquina local, garantindo segurança.
Posso usar com qualquer tipo de aplicativo?
Ele é projetado para aplicativos web e desktop, especialmente útil quando os elementos da interface não têm identificadores fáceis de encontrar.
Detalhes
Descrição original do autor
Build E2E tests with TestDriver.ai, the AI code reviewer that runs every pull request in a real desktop sandbox, finds bugs, and builds regression tests
Popularidade
- Estrelas no GitHub
- 48 mil
- Posição no ranking
- #4358
- 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
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