button-icon

Login

Login
Archi's Academy
    Courses
    Courses
    #
  • Projects
    Projects
  • Archi's Academy

    Tracks

    #
  • Blogs
    Blogs
  • Pricing
    Pricing
  • Contact
    Contact
  • For Student Clubs
    For Student Clubs

BLACK FRIDAY

85% Discount for all November

whatsapp
Get in touch
Archi's Academy

Navigation

  • Courses
  • Projects
  • Blogs
  • Pricing
  • For Student Clubs
  • Contact Us

Courses

    Tracks

    • Frontend Development
    • Backend Development
    • Quality Assurance
    • Agentic AI Coding & LLMs
    • Mobile Development
    • DevOps

    Legal

    • Privacy Policy
    • Terms of Service

    Contact

    +1 (217) 200 90 93
    Suite No: 8, 400 Emmet Street
    Kissimmee, Florida 34741 USA
    [email protected]

    Copyright © Tech Career Yazılım Danışmanlık A.Ş. 2026

    instagramlinkedingithubyoutubexfacebook
    visamastercardstripeiyzicoamerican-express
    ETBIS
    1. Home›
    2. Blog›
    3. ¿Es posible hacer pruebas de API con Cypress? Guía 2026

    API Automation Testing

    ¿Es posible hacer pruebas de API con Cypress? Guía 2026

    La mayoría de desarrolladores cree que Cypress solo sirve para hacer clic en botones y rellenar formularios. No es así. Cypress puede testear toda tu capa de API: peticiones, respuestas, cabeceras, códigos de estado e incluso tráfico de red simulado. Si trabajas en QA o en desarrollo backend en 2026, esta es una habilidad que necesitas dominar.

    Sí, Cypress Puede Hacer Pruebas de API

    La respuesta corta: sí, y lo hace muy bien.
    Cypress ofrece dos herramientas potentes para las pruebas de API:
    • cy.request() — realiza llamadas HTTP directas a tu API, completamente independientes de la interfaz del navegador. Piensa en ello como un cliente HTTP con scripts dentro de tu suite de tests.
    • cy.intercept() — se sitúa entre tu frontend y tu backend, permitiéndote espiar, validar, modificar o reemplazar completamente cualquier petición de red que haga tu aplicación.
    Juntas, estas dos herramientas cubren los dos grandes escenarios de pruebas de API: testear la API directamente y testear cómo interactúa tu frontend con la API.

    cy.request() — Pruebas Directas de API

    cy.request() es el cliente HTTP integrado de Cypress. Envía peticiones HTTP reales a tu servidor y te da acceso completo a la respuesta para hacer assertions.
    // Petición GET básica
    cy.request('GET', '/api/usuarios').then((response) => {
      expect(response.status).to.eq(200)
      expect(response.body).to.have.length.greaterThan(0)
    })
    
    // POST con cuerpo y cabeceras
    cy.request({
      method: 'POST',
      url: '/api/usuarios',
      headers: {
        'Content-Type': 'application/json',
        'Authorization': 'Bearer mi-token'
      },
      body: {
        nombre: 'María García',
        email: '[email protected]'
      }
    }).then((response) => {
      expect(response.status).to.eq(201)
      expect(response.body).to.have.property('id')
      expect(response.body.email).to.eq('[email protected]')
    })
    
    // DELETE y verificar 204
    cy.request('DELETE', '/api/usuarios/1').its('status').should('eq', 204)
    
    Lo que puedes validar con cy.request():
    • response.status — código de estado HTTP
    • response.body — cuerpo de la respuesta parseado (JSON se parsea automáticamente)
    • response.headers — cabeceras de la respuesta
    • response.duration — tiempo que tardó la petición
    • response.requestHeaders — las cabeceras que se enviaron

    cy.intercept() — Interceptación y Simulación de Red

    cy.intercept() es más potente que cy.request() para las pruebas de integración. Intercepta el tráfico de red real de tu aplicación en ejecución y te permite validarlo, modificarlo o reemplazarlo completamente con datos simulados.
    // Espiar una petición y validar después
    cy.intercept('GET', '/api/productos').as('obtenerProductos')
    cy.visit('/productos')
    cy.wait('@obtenerProductos').then(({ request, response }) => {
      expect(response.statusCode).to.eq(200)
      expect(response.body).to.be.an('array')
    })
    
    // Simular respuesta con datos de fixture
    cy.intercept('GET', '/api/usuarios', { fixture: 'usuarios.json' }).as('obtenerUsuarios')
    cy.visit('/panel')
    cy.wait('@obtenerUsuarios')
    cy.get('[data-testid="lista-usuarios"]').should('have.length', 3)
    
    // Simular un estado de error
    cy.intercept('POST', '/api/pedidos', {
      statusCode: 500,
      body: { error: 'Error interno del servidor' }
    }).as('pedidoFallido')
    cy.visit('/checkout')
    cy.get('[data-testid="confirmar-pedido"]').click()
    cy.wait('@pedidoFallido')
    cy.get('[data-testid="mensaje-error"]').should('be.visible')
    
    // Modificar una respuesta al vuelo
    cy.intercept('GET', '/api/config', (req) => {
      req.reply((res) => {
        res.body.featureFlag = true
        return res
      })
    })
    

    Qué Puedes Testear con las Pruebas de API de Cypress

    EscenarioHerramientaEjemplo
    Validar el cuerpo de la respuestacy.request() / cy.intercept()Campos JSON, longitud de arrays, propiedades anidadas
    Validar códigos de estadoAmbas200, 201, 400, 401, 404, 500
    Validar cabeceras de la peticióncy.intercept()Authorization, Content-Type
    Validar cabeceras de la respuestaAmbasCache-Control, cabeceras CORS
    Simular una respuesta (stub)cy.intercept()Reemplazar con fixture o cuerpo fijo
    Simular errores de redcy.intercept()Errores 500, timeouts, respuestas vacías
    Retrasar una respuestacy.intercept()Testear estados de carga
    Esperar a que se dispare una peticióncy.intercept().as() + cy.wait()
    Testear flujos de autenticacióncy.request()Login, renovación de token, logout
    Sembrar datos de prueba via APIcy.request()Crear usuarios/registros antes de tests de UI

    Cypress vs Otras Herramientas de Pruebas de API

    CypressPostmanSupertestREST Assured
    Uso principalE2E + pruebas de integración APITests de API manuales y automatizadosTests unitarios de API en Node.jsTests de API en Java
    Integración con frontendSí — testea UI y API juntosNoNoNo
    Funciona en CI/CDSíSí (Newman CLI)SíSí
    Simulación de redSí (cy.intercept)NoNoNo
    LenguajeJavaScript / TypeScriptPostman scriptingJavaScriptJava
    Ideal paraIngenieros QA full-stackExploración y documentación de APIsTests unitarios de backendBackends en Java
    Curva de aprendizajeBaja para devs JSBajaBajaMedia
    La ventaja clave de Cypress: puedes testear la API y la respuesta de la UI a esa API en el mismo test. Cuando tu endpoint POST devuelve un 201, puedes comprobar inmediatamente que la UI se actualizó correctamente. Ninguna otra herramienta hace eso en un solo paso.

    Patrones Habituales en Proyectos QA Reales

    Patrón 1: Sembrar datos de prueba antes de los tests de UI
    beforeEach(() => {
      cy.request('POST', '/api/test/resetear-bd')
      cy.request('POST', '/api/usuarios', { nombre: 'Usuario Test', email: '[email protected]' })
    })
    
    Patrón 2: Autenticarse via API en lugar de rellenar el formulario de login
    // Mucho más rápido que escribir en el formulario en cada test
    cy.request('POST', '/api/auth/login', {
      email: '[email protected]',
      contrasena: 'contrasena123'
    }).then(({ body }) => {
      window.localStorage.setItem('token', body.token)
    })
    cy.visit('/panel')
    
    Patrón 3: Usar intercept para testear estados de carga y error
    cy.intercept('GET', '/api/datos', (req) => {
      req.reply({ delay: 2000, body: [] })
    })
    cy.visit('/pagina')
    cy.get('[data-testid="skeleton-carga"]').should('be.visible')
    
    Patrón 4: Verificar exactamente qué petición envía tu frontend
    cy.intercept('POST', '/api/checkout').as('checkout')
    cy.get('[data-testid="comprar-ahora"]').click()
    cy.wait('@checkout').its('request.body').should('deep.include', {
      productoId: 'abc-123',
      cantidad: 1
    })
    

    Pruebas de API con Cypress y la Carrera en QA

    Las pruebas de API son de las primeras habilidades que diferencian a un ingeniero QA que solo puede testear interfaces de uno que puede testear el stack completo. Saber escribir tests de Cypress que cubran tanto el comportamiento de red como las respuestas de la UI es exactamente el tipo de competencia que aparece en las ofertas de trabajo de QA en 2026.
    La documentación oficial de Cypress incluye ejemplos funcionales de todos los comandos de red en example.cypress.io/commands/network-requests — una referencia muy útil cuando construyes tu primera suite de tests de API.
    En Archi's Academy, el Backend Development track trabaja el testing en contextos de proyectos reales; no solo aprendes la sintaxis en ejercicios aislados, sino que entiendes qué testear, cómo estructurar una suite de tests y cómo escribir tests que realmente detecten bugs en escenarios de producción.
    La diferencia entre saber que cy.intercept() existe y saber cuándo usarlo, qué simular frente a qué testear con datos reales, y cómo integrar las pruebas de API en un flujo de extremo a extremo es la brecha que importa en un rol real de QA.

    Ready to turn insights into real skills?

    Start building with guided, project-based training and gain hands-on experience from day one.


    Empieza a Desarrollar Habilidades Reales de Backend y QA

    → Explora el Backend Development Track →
    Archi's Academy Backend Development Track
    Archi's Academy Backend Development Track
    → Explora el Frontend Development Track →
    Archi's Academy Frontend Development Track
    Archi's Academy Frontend Development Track

    Preguntas Frecuentes

    ¿Puede Cypress testear APIs REST directamente? Sí. El comando cy.request() realiza peticiones HTTP reales a cualquier URL — GET, POST, PUT, PATCH, DELETE — y te da el cuerpo de la respuesta, el código de estado, las cabeceras y la duración para validar. No necesitas tener el navegador abierto. Esto convierte a Cypress en un cliente de pruebas de API muy útil dentro de tu suite de tests existente.
    ¿Cuál es la diferencia entre cy.request() y cy.intercept() en Cypress? cy.request() realiza una llamada HTTP directa desde tu test, como llamar a una API desde un script. cy.intercept() se sitúa entre tu aplicación frontend en ejecución y la red, permitiéndote espiar, validar, modificar o reemplazar las peticiones que hace el código de tu UI. Usa cy.request() para testear la API en sí; usa cy.intercept() para testear cómo tu frontend gestiona las respuestas de la API.
    ¿Se pueden simular respuestas de API en Cypress? Sí. cy.intercept() te permite reemplazar cualquier respuesta de API con datos de fixture, un cuerpo fijo, un código de estado específico o una respuesta retrasada. Esto es muy útil para testear estados de error (respuestas 500), estados de carga (respuestas retrasadas) y casos límite (arrays vacíos, campos nulos) sin necesidad de que el backend reproduzca esas condiciones.
    ¿Cómo espero a una llamada de API en Cypress? Usa cy.intercept() con .as('nombreAlias') para nombrar la petición, y luego cy.wait('@nombreAlias') para pausar el test hasta que esa petición se complete. Esto es mucho más fiable que los timeouts arbitrarios con cy.wait(2000) y te da acceso al objeto completo de petición y respuesta para validaciones.
    ¿Puede Cypress sustituir a Postman para las pruebas de API? Para tests automatizados e integrados, sí. Cypress puede cubrir lo que hace Postman en un pipeline de CI. Postman sigue siendo mejor para la exploración manual de APIs, la documentación de contratos y el testing de APIs de forma aislada sin frontend. Cypress es mejor cuando necesitas testear cómo la API y la UI funcionan juntas en la misma ejecución de tests.
    ¿Funciona Cypress con CI/CD? Sí. Cypress se ejecuta en modo headless en entornos CI (GitHub Actions, CircleCI, Jenkins, GitLab CI) y genera informes JUnit XML, capturas de pantalla y grabaciones de vídeo en caso de fallo. Tanto cy.request() como cy.intercept() funcionan de forma idéntica en modo headless. Muchos equipos usan sus tests de API de Cypress como paso previo al despliegue a producción.
    ¿Cómo cubre Archi's Academy las pruebas de API con Cypress? El Backend Development track de Archi's Academy incluye testing real como parte del modelo de simulación de proyectos. Diseñas APIs, las despliegas y escribes tests con las herramientas del sector; no solo en desarrollo local, sino con el mismo flujo que usa un desarrollador junior en un equipo real. Empieza con una prueba gratuita de 1 semana.

    Aprende Haciendo. Demuéstralo Haciendo. Consigue el Trabajo.
    → Explora Todos los Skill Tracks →

    ¿Tienes preguntas sobre pruebas de API, flujos de QA o qué track encaja con tus objetivos? El equipo de Archi's Academy trabaja con desarrolladores en todos los niveles. Escríbenos cuando quieras.
    dirDirector of Engineering: Archi's Academy

    Ahamad Cholassery

    Wednesday, May 13, 2026

    Ready to turn insights into real skills?

    Start building with guided, project-based training and gain hands-on experience from day one.

    TOC

    Table of Content

    • 01Sí, Cypress Puede Hacer Pruebas de API
    • 02cy.request() — Pruebas Directas de API
    • 03cy.intercept() — Interceptación y Simulación de Red
    • 04Qué Puedes Testear con las Pruebas de API de Cypress
    • 05Cypress vs Otras Herramientas de Pruebas de API
    • 06Patrones Habituales en Proyectos QA Reales
    • 07Pruebas de API con Cypress y la Carrera en QA
    • 08Empieza a Desarrollar Habilidades Reales de Backend y QA
    • 09Preguntas Frecuentes