Capturando e gerenciando baselines – QA Proof Central de Ajuda Skip to main content

Capturando e gerenciando baselines

Uma baseline é uma captura de tela salva de uma página em seu estado "aprovado". Todo teste de Regressão Visual compara a página ativa atual com essa baseline e relata quaisquer diferenças. Os monitores executam testes de regressão de forma agendada, então a baseline é a base de todo o monitoramento.

Como as baselines são capturadas

Você não captura baselines manualmente — o sistema faz isso por você em duas situações:

  • Quando você cria um novo monitor. A primeira execução agendada (ou o seu primeiro clique manual em Executar) chama POST /api/baselines, captura a página e a armazena. A partir daí, cada execução subsequente é um teste de regressão contra essa baseline armazenada.
  • Quando você aprova um resultado de regressão. Se o sistema sinalizar mudanças reais que você aceita (você realmente redesenhou a página de propósito), clique em Aprovar no resultado. Isso recaptura uma nova baseline para que as execuções futuras usem o novo estado como referência.

O que é armazenado junto com a captura de tela

Para tornar as comparações de regressão confiáveis, cada baseline salva mais do que apenas uma imagem:

  • Captura de tela (JPEG de página inteira) — a referência visual.
  • Texto da página — cada string visível na página. Usado para detectar mudanças apenas de texto que não afetam a renderização (correção de um erro de digitação, uma nova frase em um parágrafo) — essas são detectadas de forma programática sem envolver IA.
  • Tokens de cor CSS — propriedades personalizadas CSS extraídas (--primary, --accent) mais as cores computadas de botões, links e títulos. Usado para captar mudanças em toda a paleta que a comparação de pixels sozinha poderia não perceber.
  • Cookies de sessão da captura — restaurados em cada execução de regressão para que a página seja renderizada na mesma variante de teste A/B / segmento de geo-personalização de quando a baseline foi capturada.

Salvaguardas de estabilidade

O pipeline de captura se recusa a salvar uma baseline quebrada. Se 3 ou mais imagens da página falharem ao carregar durante a captura, a API retorna 503 CAPTURE_UNSTABLE e nada é armazenado. Isso evita o modo de falha mais comum em monitores de regressão: uma baseline com imagens ausentes que toda execução futura sinaliza como "mudanças de cor" contra os retângulos brancos onde as imagens deveriam estar.

Se você vir esse erro, aguarde de 1 a 2 minutos (seu site ou CDN pode estar limitando a taxa do nosso scraper) e tente novamente.

Atualizando uma baseline

Dois cenários pedem uma nova baseline:

Você publicou mudanças intencionais

A próxima execução do monitor relatará uma regressão porque a página realmente mudou. Abra o resultado, verifique se as mudanças estão corretas e clique em Aprovar. O plugin captura uma nova baseline imediatamente e a contagem de regressões é zerada.

A baseline original estava ruim

Se o seu primeiro resultado de regressão parecer suspeito — grandes "mudanças de cor" inexplicáveis que você não fez — a própria baseline pode ter sido capturada em um momento em que algo no seu site estava quebrado (imagens lentas, meio de um deploy, limpeza de CDN). Abra Monitores, encontre o monitor afetado e clique em Recapturar Baseline. A nova baseline substitui a antiga e as execuções futuras comparam com o estado atualizado.

Onde as baselines ficam

As baselines são armazenadas nos servidores do QA Proof, indexadas por um hash da URL normalizada. Elas persistem entre atualizações do plugin e reinícios do WP-Cron. Excluir um monitor também exclui sua baseline. Não há limite de armazenamento por baseline em nenhum plano — a sua contagem de monitores é o limite.

API direta

Se você está gerenciando baselines fora do plugin do WP (por exemplo, a partir de CI), os endpoints da API são:

  • POST /api/baselines — captura e salva uma baseline. Corpo: { "pageUrl": "..." }.
  • GET /api/baselines — lista todas as baselines da sua conta.
  • GET /api/baselines/:key — recupera uma baseline específica (retorna a captura de tela inline como um data URI).
  • DELETE /api/baselines/:key — remove uma baseline.

Consulte a documentação da API para detalhes completos.