Communitygithub.com

auto-qa

Motor de testes de QA autônomo orientado por intenções, suportando operação de modo duplo (CLI do Antigravity Agent Skill e Servidor MCP Stdio). Oferece execução Playwright com autocorreção, compilador .spec.ts nativo, isolamento ativo de modais e rastreador de superfície para sites de clientes ou aplicações locais.

O que é auto-qa?

Auto-QA é um mecanismo autônomo de testes de QA orientado por intenções que executa jornadas completas de ponta a ponta em qualquer aplicação web (servidor local ou site ao vivo) usando linguagem natural, heurísticas de acessibilidade W3C com autocorreção, isolamento ativo de modais e compilação nativa com @playwright/test. Ele suporta dois modos de operação: Modo MCP (via ferramentas JSON-RPC) e Modo CLI (padrão, usando um script Node.js unificado). O ciclo de testes possui três estágios: Descoberta de Superfície (mapeamento de controles acessíveis), Criação do Plano de Teste Declarativo (arquivo JSON) e Execução com Autocorreção e Compilação de Código nativo. É ideal para quando o usuário pede para testar fluxos web, auditar sites de clientes sem código-fonte, executar QA automatizado ou gerar planos compatíveis com TestSprite. O Auto-QA também oferece uma Estratégia de Verificação de 5 Camadas para auditoria completa de aplicações desconhecidas.

Funciona com~Claude Code~Codex CLI~Cursor✓Antigravity✓Gemini CLI
npx skills add https://github.com/yashh1323/auto-qa/tree/HEAD

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Auto-QA: Mecanismo de QA Autônomo Orientado por Intenções

Um conjunto de ferramentas autônomo de testes de QA web que executa jornadas completas de usuário em qualquer aplicação web (servidor de desenvolvimento local ou site ao vivo) usando intenções humanas em inglês simples, heurísticas de acessibilidade W3C com autocorreção, isolamento ativo de modais e compilação nativa @playwright/test.


1. Regra de Decisão de Operação de Modo Duplo

Antes de tomar qualquer ação, inspecione suas ferramentas declaradas:

  • MODO 1: Modo de Ferramenta MCP: Se ferramentas começando com auto_qa_ (ex: auto_qa_execute_and_heal) estiverem disponíveis em sua lista de ferramentas ativa, chame-as diretamente via JSON-RPC.
  • MODO 2: Modo CLI do Antigravity Skill (Padrão e Autônomo): Se nenhuma ferramenta MCP auto_qa_* estiver declarada, execute todas as ações de QA via run_command usando a CLI unificada:
    node "<skillPath>/scripts/cli.js" <comando>
    
    (Resolva <skillPath> para ~/.gemini/config/skills/auto-qa ou a raiz do repositório).

2. O Ciclo de Vida de Testes em 3 Estágios

Estágio 1: Descoberta de Superfície (Mapear Controles Acessíveis)

Rastreie a URL alvo para extrair botões interativos, campos de entrada, links e diálogos modais.

  • Modo MCP: Chame auto_qa_generate_code_summary(projectPath, url).
  • Modo CLI do Skill:
    node "<skillPath>/scripts/cli.js" discover http://localhost:3000 -o auto_qa_tests/tmp/surface.json
    

Estágio 2: Criação do Plano de Intenção (auto_qa_frontend_test_plan.json)

Crie o plano de teste declarativo em auto_qa_tests/auto_qa_frontend_test_plan.json.

  • Modo MCP: Chame auto_qa_generate_frontend_test_plan(projectPath, name, planSteps).
  • Modo CLI do Skill: Escreva o arquivo JSON diretamente usando sua ferramenta de criação de arquivo:
{
  "$schema": "https://raw.githubusercontent.com/TestSprite/testsprite-cli/main/schemas/plan.schema.json",
  "projectId": "project-name",
  "type": "frontend",
  "name": "Fluxo de Registro e Login de Usuário",
  "targetUrl": "http://localhost:3000",
  "priority": "p0",
  "planSteps": [
    { "type": "action", "description": "navegar para http://localhost:3000/login" },
    { "type": "action", "description": "digitar '[email protected]' em 'Email'" },
    { "type": "action", "description": "digitar 'TestPass123!' em 'Senha'" },
    { "type": "action", "description": "clicar em 'Entrar'" },
    { "type": "assertion", "description": "verificar se 'Painel' está visível" },
    { "type": "assertion", "description": "verificar se URL contém '/dashboard'" }
  ]
}

Verbos de Intenção Suportados (Insensíveis a Maiúsculas/Minúsculas, Aspas Simples ou Duplas):

  • Ações:
    • navegar para <http(s)://url> / ir para </caminho ou http(s)://url>
    • digitar '<texto>' em '<alvo>' / preencher '<texto>' em '<alvo>'
    • clicar em '<alvo>' / pressionar '<alvo>'
    • selecionar '<opção>' de '<alvo>'
    • marcar '<alvo>' / assinalar '<alvo>'
  • Afirmações:
    • verificar se '<alvo>' está visível / aparece
    • verificar se '<alvo>' não está visível / desaparece
    • verificar texto '<texto>' / contém '<texto>'
    • verificar se URL contém '<caminho>'

Estágio 3: Execução, Autocorreção e Compilação de Código

Execute o plano de teste declarativo com resolução de elementos autocorretiva, capture capturas de tela de falhas e exporte código nativo.

  • Modo MCP:
    • Executar: auto_qa_execute_and_heal(projectPath, planFile, baseUrl)
    • Exportar: auto_qa_compile_to_playwright(planPath, outputPath)
  • Modo CLI do Skill:
    • Executar Teste:
      node "<skillPath>/scripts/cli.js" run auto_qa_tests/auto_qa_frontend_test_plan.json -u http://localhost:3000
      
      (Nota: Código de saída 1 indica falha de afirmação sob teste. Inspecione auto_qa_tests/artifacts/ para capturas de tela e auto_qa_tests/auto-qa-test-report.md para tempos de etapa e rastros de erro).
    • Compilar para Playwright TypeScript Nativo:
      node "<skillPath>/scripts/cli.js" compile auto_qa_tests/auto_qa_frontend_test_plan.json -o tests/e2e/flow.spec.ts
      

3. Resumo de Subcomandos da CLI

SubcomandoPropósitoSaída Padrão
doctorVerificação pré-execução para Node, Playwright e binário Chromium.Status no terminal
discover <url> [-o <arquivo>]Rastreia o site e extrai botões, campos de entrada, links, modais e árvore de acessibilidade.Mapa de superfície JSON
run <arquivoPlano> [-u <url>] [-o <dir>]Executa o plano de intenção com resolução autocorretiva.auto_qa_tests/artifacts/ + auto-qa-test-report.md
compile <arquivoPlano> [-o <arquivo>]Compila o plano declarativo em .spec.ts nativo de @playwright/test.<nomePlano>.spec.ts
bootstrap [dir] [-u <url>]Inicializa auto_qa_tests/tmp/config.json.config.json
mcpInicia o servidor MCP stdio JSON-RPC 2.0.Stream stdio

4. A Estratégia de Verificação de 5 Camadas

Quando for solicitado a "Testar tudo" ou auditar uma aplicação web desconhecida:

  1. Camada 1: Navegação e Rotas: Rastreie links da barra de navegação e rodapé; afirme que não há respostas 404.
  2. Camada 2: Controles Interativos: Teste menus suspensos, acordeões, alternadores de tema e botões de filtro.
  3. Camada 3: Funis de Validação de Formulário:
    • Caminho Feliz: Envie entradas válidas → afirme banner de sucesso ou atualização de estado.
    • Caminho de Erro: Envie campos obrigatórios vazios → afirme alertas de validação inline.
  4. Camada 4: Ciclo de Vida de Autenticação: Login válido, rejeição de credenciais inválidas, persistência de sessão e logout.
  5. Camada 5: Fluxos de Trabalho CRUD Principal: Criar item → afirmar listado; modificar item → afirmar atualizado; excluir item → afirmar removido.

Habilidades Relacionadas