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 viarun_commandusando a CLI unificada:(Resolvanode "<skillPath>/scripts/cli.js" <comando><skillPath>para~/.gemini/config/skills/auto-qaou 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/apareceverificar se '<alvo>' não está visível/desapareceverificar 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)
- Executar:
- Modo CLI do Skill:
- Executar Teste:
(Nota: Código de saída 1 indica falha de afirmação sob teste. Inspecionenode "<skillPath>/scripts/cli.js" run auto_qa_tests/auto_qa_frontend_test_plan.json -u http://localhost:3000auto_qa_tests/artifacts/para capturas de tela eauto_qa_tests/auto-qa-test-report.mdpara 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
- Executar Teste:
3. Resumo de Subcomandos da CLI
| Subcomando | Propósito | Saída Padrão |
|---|---|---|
doctor | Verificaçã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 |
mcp | Inicia 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:
- Camada 1: Navegação e Rotas: Rastreie links da barra de navegação e rodapé; afirme que não há respostas 404.
- Camada 2: Controles Interativos: Teste menus suspensos, acordeões, alternadores de tema e botões de filtro.
- 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.
- Camada 4: Ciclo de Vida de Autenticação: Login válido, rejeição de credenciais inválidas, persistência de sessão e logout.
- Camada 5: Fluxos de Trabalho CRUD Principal: Criar item → afirmar listado; modificar item → afirmar atualizado; excluir item → afirmar removido.