chore(agent): padronizar salvamento obrigatorio de evidencias de testes em .evidencias

This commit is contained in:
Luiz Silva 2026-10-30 11:02:09 -03:00
parent 51261563a4
commit 2e6db7dda6
30 changed files with 91 additions and 69 deletions

View file

@ -1,10 +1,10 @@
---
type: rule
name: testes-interface-agent-browser
description: Testes automatizados de interface (E2E) e acesso visual ao frontend devem usar agent-browser, sempre visível (--headed) e com isolamento por sessão e contexto (--session <modulo>_<contexto?>).
description: Testes automatizados de interface (E2E) e acesso visual ao frontend devem usar agent-browser, sempre visível (--headed), com isolamento por sessão e contexto (--session <modulo>_<contexto?>) e salvando evidências obrigatoriamente na pasta .evidencias/.
scope: global
trigger: always_on
updatedAt: "2026-10-08"
updatedAt: "2026-10-30"
---
# Regra: Testes Automatizados de Interface e Navegação com agent-browser
@ -37,8 +37,10 @@ Sempre que qualquer agente de IA (`@testes`, `@front`, `@ux` ou outro) precisar
4. **Utilizar o modelo de referências (`@ref`)**:
- Mapear a tela via `agent-browser --session <modulo>_<contexto?> snapshot -i`, obtendo referências compactas como `@e1`, `@e2`.
- Executar ações determinísticas referenciando os IDs gerados (`click @e1`, `fill @e2 "texto"`).
5. **Registrar evidências e fechar sessão**:
- Registrar comprovações visuais com `agent-browser --session <modulo>_<contexto?> screenshot <arquivo.png>`.
5. **Registrar evidências obrigatoriamente na pasta `.evidencias/` e fechar sessão**:
- Todas as evidências geradas pelos testes automatizados (screenshots, capturas anotadas, PDFs, vídeos, traces, relatórios ou dumps de console/rede) **DEVEM OBRIGATORIAMENTE ser salvas na pasta `.evidencias/`** na raiz do projeto (`mkdir -p .evidencias`).
- Registrar comprovações visuais com `agent-browser --session <modulo>_<contexto?> screenshot .evidencias/<arquivo.png>`.
- Garantir que `.evidencias/` conste no `.gitignore` do projeto para evitar o versionamento acidental de binários de teste.
- Encerrar graciosamente o navegador com `agent-browser --session <modulo>_<contexto?> close` ao término do fluxo.
6. **Credenciais Canônicas por Contexto (`modulo-acesso`)**:
- Sempre que o teste exigir autenticação, o agente **DEVE OBRIGATORIAMENTE extrair as credenciais do contexto específico** em `modulo-acesso` de `memorias-ia/modulo.yml` (ex: `modulo-acesso.interno`, `modulo-acesso.cliente`, etc.).
@ -115,8 +117,9 @@ agent-browser --session "${MODULO}_${CONTEXTO}" wait 1000
# Obter novo snapshot para verificar estado pós-ação
agent-browser --session "${MODULO}_${CONTEXTO}" snapshot -i
# Capturar evidência gráfica do teste
agent-browser --session "${MODULO}_${CONTEXTO}" screenshot evidencias/teste-login-sucesso.png
# Garantir pasta .evidencias e capturar evidência gráfica do teste
mkdir -p .evidencias
agent-browser --session "${MODULO}_${CONTEXTO}" screenshot .evidencias/teste-login-sucesso.png
# Verificar erros no console do navegador
agent-browser --session "${MODULO}_${CONTEXTO}" console
@ -137,6 +140,7 @@ agent-browser --session "${MODULO}_${CONTEXTO}" close
- **Proibido executar sem a flag `--session <modulo>_<contexto?>`** (ou sem `AGENT_BROWSER_SESSION`), evitando poluir a sessão default compartilhada.
- **Proibido misturar acessos com perfis diferentes na mesma sessão genérica sem contexto** (ex: logar como operador interno e depois testar fluxo de cliente ou anônimo na mesma sessão, causando mistura de tokens).
- **Proibido abrir em modo headless silencioso** sem flag `--headed` ou variável `AGENT_BROWSER_HEADED=true`.
- **Proibido salvar evidências de testes automatizados fora da pasta `.evidencias/`** (como soltas na raiz do projeto, em `/tmp/` ou em `evidencias/` sem ponto inicial).
- **Proibido despejar o HTML/DOM completo** no contexto da IA (consome milhares de tokens desnecessários; use sempre `snapshot -i`).
- **Proibido navegar para URLs desconhecidas** ou inventadas pela IA fora do escopo aprovado do teste.
- **Proibido deixar processos ou janelas órfãs** após a conclusão do trabalho (sempre executar `agent-browser --session <modulo>_<contexto?> close`).
@ -144,7 +148,7 @@ agent-browser --session "${MODULO}_${CONTEXTO}" close
### Permitido e Recomendado ✅
- Manter sessões persistentes por contexto quando necessário via `--session <modulo>_<contexto> --restore`.
- Utilizar sub-isolamento determinístico (`<modulo>_<contexto>_<slug-ou-pid>`) caso múltiplos testes do mesmo contexto ocorram simultaneamente no mesmo host.
- Usar `agent-browser --session <modulo>_<contexto> screenshot --annotate` para inspecionar layouts complexos com visão computacional.
- Usar `agent-browser --session <modulo>_<contexto> screenshot --annotate .evidencias/<slug>-anotado.png` para inspecionar layouts complexos com visão computacional.
- Consultar guias embutidos do próprio binário via `agent-browser skills get core --full` ou `agent-browser skills get dogfood`.
---