Una baseline es una captura de pantalla guardada de una página en su estado "aprobado". Cada prueba de Regresión Visual compara la página activa actual con esta baseline e informa cualquier diferencia. Los monitores ejecutan pruebas de regresión de forma programada, por lo que la baseline es la base de todo el monitoreo.
Cómo se capturan las baselines
No capturas las baselines manualmente — el sistema lo hace por ti en dos situaciones:
- Cuando creas un nuevo monitor. La primera ejecución programada (o tu primer clic manual en Ejecutar) llama a
POST /api/baselines, captura la página y la almacena. A partir de ahí, cada ejecución posterior es una prueba de regresión contra esta baseline almacenada. - Cuando apruebas un resultado de regresión. Si el sistema señala cambios reales que aceptas (realmente rediseñaste la página a propósito), haz clic en Aprobar en el resultado. Eso vuelve a capturar una nueva baseline para que las ejecuciones futuras usen el nuevo estado como referencia.
Qué se almacena junto con la captura de pantalla
Para que las comparaciones de regresión sean fiables, cada baseline guarda más que solo una imagen:
- Captura de pantalla (JPEG de página completa) — la referencia visual.
- Texto de la página — cada cadena visible en la página. Se usa para detectar cambios solo de texto que no afectan al renderizado (la corrección de una errata, una nueva frase en un párrafo) — estos se detectan de forma programática sin involucrar a la IA.
- Tokens de color CSS — propiedades personalizadas CSS extraídas (
--primary,--accent) más los colores calculados de botones, enlaces y títulos. Se usa para captar cambios en toda la paleta que la comparación de píxeles por sí sola podría no notar. - Cookies de sesión de la captura — restauradas en cada ejecución de regresión para que la página se renderice en la misma variante de prueba A/B / segmento de geopersonalización que cuando se tomó la baseline.
Salvaguardas de estabilidad
El pipeline de captura se niega a guardar una baseline rota. Si 3 o más imágenes de la página no se cargan durante la captura, la API devuelve 503 CAPTURE_UNSTABLE y no se almacena nada. Esto evita el modo de fallo más común de los monitores de regresión: una baseline con imágenes faltantes que cada ejecución futura señala como "cambios de color" contra los rectángulos blancos donde deberían estar las imágenes.
Si ves este error, espera de 1 a 2 minutos (tu sitio o CDN puede estar limitando la tasa de nuestro scraper) e inténtalo de nuevo.
Actualizar una baseline
Dos escenarios requieren una nueva baseline:
Publicaste cambios intencionales
La próxima ejecución del monitor informará una regresión porque la página realmente cambió. Abre el resultado, verifica que los cambios sean correctos y haz clic en Aprobar. El plugin captura una nueva baseline de inmediato y el conteo de regresiones se restablece.
La baseline original estaba mal
Si tu primer resultado de regresión parece sospechoso — grandes "cambios de color" inexplicables que no hiciste — la propia baseline puede haberse capturado en un momento en que algo en tu sitio estaba roto (imágenes lentas, despliegue a medias, purga de CDN). Abre Monitores, encuentra el monitor afectado y haz clic en Recapturar Baseline. La nueva baseline reemplaza a la anterior y las ejecuciones futuras comparan con el estado actualizado.
Dónde residen las baselines
Las baselines se almacenan en los servidores de QA Proof, indexadas por un hash de la URL normalizada. Persisten entre actualizaciones del plugin y reinicios de WP-Cron. Eliminar un monitor también elimina su baseline. No hay límite de almacenamiento por baseline en ningún plan — tu número de monitores es el tope.
API directa
Si gestionas las baselines fuera del plugin de WP (por ejemplo, desde CI), los endpoints de la API son:
POST /api/baselines— captura y guarda una baseline. Cuerpo:{ "pageUrl": "..." }.GET /api/baselines— lista todas las baselines de tu cuenta.GET /api/baselines/:key— recupera una baseline específica (devuelve la captura de pantalla en línea como un data URI).DELETE /api/baselines/:key— elimina una baseline.
Consulta la documentación de la API para más detalles.