Una baseline è uno screenshot salvato di una pagina nel suo stato "approvato". Ogni test di Regressione Visiva confronta la pagina live attuale con questa baseline e segnala eventuali differenze. I monitor eseguono i test di regressione secondo una pianificazione, quindi la baseline è il fondamento di tutto il monitoraggio.
Come vengono acquisite le baseline
Non acquisisci le baseline manualmente — lo fa il sistema per te in due situazioni:
- Quando crei un nuovo monitor. La prima esecuzione pianificata (o il tuo primo clic manuale su Esegui) chiama
POST /api/baselines, acquisisce la pagina e la memorizza. Da quel momento, ogni esecuzione successiva è un test di regressione rispetto a questa baseline memorizzata. - Quando approvi un risultato di regressione. Se il sistema segnala modifiche reali che accetti (hai effettivamente riprogettato la pagina di proposito), clicca su Approva sul risultato. Questo riacquisisce una nuova baseline in modo che le esecuzioni future usino il nuovo stato come riferimento.
Cosa viene memorizzato insieme allo screenshot
Per rendere affidabili i confronti di regressione, ogni baseline salva più di una semplice immagine:
- Screenshot (JPEG a pagina intera) — il riferimento visivo.
- Testo della pagina — ogni stringa visibile sulla pagina. Usato per rilevare modifiche di solo testo che non influiscono sul rendering (la correzione di un refuso, una nuova frase in un paragrafo) — queste vengono rilevate in modo programmatico senza coinvolgere l'IA.
- Token di colore CSS — proprietà personalizzate CSS estratte (
--primary,--accent) più i colori calcolati di pulsanti, link e titoli. Usato per cogliere variazioni a livello dell'intera palette che il solo confronto pixel potrebbe non notare. - Cookie di sessione dell'acquisizione — ripristinati a ogni esecuzione di regressione affinché la pagina venga renderizzata nella stessa variante di test A/B / segmento di geo-personalizzazione di quando è stata acquisita la baseline.
Protezioni di stabilità
La pipeline di acquisizione si rifiuta di salvare una baseline difettosa. Se 3 o più immagini della pagina non si caricano durante l'acquisizione, l'API restituisce 503 CAPTURE_UNSTABLE e non viene memorizzato nulla. Questo previene la modalità di errore più comune dei monitor di regressione: una baseline con immagini mancanti che ogni esecuzione futura segnala come "variazioni di colore" rispetto ai rettangoli bianchi dove dovrebbero esserci le immagini.
Se vedi questo errore, attendi 1–2 minuti (il tuo sito o CDN potrebbe limitare la frequenza del nostro scraper) e riprova.
Aggiornare una baseline
Due scenari richiedono una nuova baseline:
Hai rilasciato modifiche intenzionali
La prossima esecuzione del monitor segnalerà una regressione perché la pagina è realmente cambiata. Apri il risultato, verifica che le modifiche siano corrette e clicca su Approva. Il plugin acquisisce immediatamente una nuova baseline e il conteggio delle regressioni si azzera.
La baseline originale era difettosa
Se il tuo primo risultato di regressione sembra sospetto — grandi "variazioni di colore" inspiegabili che non hai apportato — la baseline stessa potrebbe essere stata acquisita in un momento in cui qualcosa sul tuo sito era guasto (immagini lente, deploy in corso, svuotamento della CDN). Apri Monitor, trova il monitor interessato e clicca su Riacquisisci Baseline. La nuova baseline sostituisce quella vecchia e le esecuzioni future si confrontano con lo stato aggiornato.
Dove risiedono le baseline
Le baseline sono memorizzate sui server di QA Proof, indicizzate tramite un hash dell'URL normalizzato. Persistono tra gli aggiornamenti del plugin e i riavvii di WP-Cron. Eliminare un monitor elimina anche la sua baseline. Non c'è un limite di archiviazione per singola baseline in nessun piano — il tuo numero di monitor è il limite.
API diretta
Se gestisci le baseline al di fuori del plugin WP (ad esempio, da CI), gli endpoint dell'API sono:
POST /api/baselines— acquisisce e salva una baseline. Corpo:{ "pageUrl": "..." }.GET /api/baselines— elenca tutte le baseline del tuo account.GET /api/baselines/:key— recupera una baseline specifica (restituisce lo screenshot inline come data URI).DELETE /api/baselines/:key— rimuove una baseline.
Consulta la documentazione dell'API per i dettagli completi.