Blog

Una Guía Técnica para Integrar Pruebas Visuales en su Canalización CI/CD

C
Cem Bakca
3 min de lectura
Una Guía Técnica para Integrar Pruebas Visuales en su Canalización CI/CD

En los modernos Ciclos de Vida del Desarrollo de Software (SDLC), las pruebas manuales de QA son lentas, costosas y propensas a errores. Especialmente en escenarios donde los equipos con una cultura de Entrega Continua (Continuous Delivery) envían código a "Producción" docenas de veces al día, la única forma de garantizar la seguridad es integrar pruebas visuales automatizadas en las Canalizaciones (Pipelines) CI/CD.

En esta guía, examinaremos paso a paso cómo puede usar una "parada estricta" (hard-stop) para evitar que el código con errores llegue al cliente combinando la automatización de Pruebas Visuales de Crawlens con GitHub Actions o GitLab.

1. ¿Cómo Funciona la Arquitectura de Pruebas Visuales CI/CD?

El papel de las pruebas visuales en el proceso CI/CD es simple: intervenir cada vez que se abre un Pull Request (PR) o el código se fusiona (merge) en la rama Principal (Main), verificando si hay una falla de diseño (Regresión Visual).

El flujo funciona de la siguiente manera:

  1. Comprometer y Construir (Commit & Build): Un desarrollador empuja (push) un cambio de código al servidor remoto y comienzan las pruebas / compilación básicas (por ejemplo, npm run build).
  2. Implementación de Vista Previa (Staging): Vercel, Netlify o su propio clúster de Kubernetes genera una URL temporal específica para ese código actual.
  3. Verificación Visual (Crawlens DOM): Su canalización CI/CD envía esta URL única a la API de Crawlens con un comando "Prueba Esto".
  4. Captura del Error (Fail Fast): Si Crawlens detecta que el botón del Carrito se ha desplazado o que su color se ha corrompido en comparación con la versión estable anterior (Línea base), devuelve una señal de "Fallo" a GitHub/GitLab.
  5. Cancelación de Despliegue: Al recibir la señal de "Fallo", la canalización CI/CD cancela instantáneamente el paso del código a producción (Despliegue de Producción).

2. Ejemplo de Integración de GitHub Actions

Automatizar el proceso es extremadamente fácil en GitHub Actions. La integración se puede lograr con unas pocas líneas de código yaml usando el CLI (Interfaz de Línea de Comandos) de Crawlens o paquetes prefabricados de GitHub Action.

name: Crawlens Visual Test
on: [pull_request]

jobs:
  visual-testing:
    runs-on: ubuntu-latest
    steps:
      - name: Checkout Code
        uses: actions/checkout@v3

      - name: Await Preview URL
        # Recuperar URL de staging desde Vercel u otra plataforma
        id: wait_for_preview

      - name: Run Crawlens Visual Test
        uses: crawlens/github-action@v1
        with:
          api-token: ${{ secrets.CRAWLENS_API_TOKEN }}
          project-id: 'proj_xyz123'
          test-url: ${{ steps.wait_for_preview.outputs.url }}
          baseline-branch: 'main'

El flujo anterior garantiza que el código se verifique no solo funcionalmente (Unit/E2E) sino también desde la perspectiva del ojo humano (Visual).

3. Flujo Automatizado de Aprobación e Informes de Errores

Cuando la prueba visual devuelve "Fallo", el proceso no se bloquea permanentemente. El bot de Crawlens deja automáticamente un comentario debajo de ese Pull Request con la imagen Diff (diferencia) de los píxeles desplazados. Si el desarrollador o el ingeniero de control de calidad confirma que esta diferencia visual es intencional (una nueva iteración de diseño), hace clic en "Aceptar Línea de Base" (Accept Baseline) en Crawlens, y la canalización CI/CD se vuelve verde y continúa hacia la producción.

Conclusión

La Entrega Continua sin automatización es una invitación al desastre. Si administra un sitio de comercio electrónico o una plataforma SaaS B2B, agregar la Regresión Visual a sus canalizaciones de GitHub Actions o GitLab es la forma más sólida de recuperar el sueño y proteger la reputación de su marca (UX). Despliegue su código con la seguridad de Crawlens.

Artículos Relacionados