Validación de Status Codes en APIs con Cypress

Clase 6 de 17Curso de Automatización de Pruebas de Backend con Cypress

Resumen

¿Cómo trabajar con los status code en una API?

Los status code son fundamentales al momento de validar una API, ya que determinan cómo responde el servidor a las solicitudes que realizamos. Aprender a trabajar con ellos no solo nos ayudará a identificar respuestas exitosas, sino también a manejar respuestas fallidas de manera efectiva.

¿Cómo crear una prueba de status code exitoso?

Crear una prueba para validar un status code exitoso en Cypress es una tarea sencilla y esencial. Seguir estos pasos te permitirá comprender cómo funciona este proceso:

  1. Crear un archivo de prueba: Crea un nuevo archivo en tu carpeta de integración, nombrándolo status.spec.js.

  2. Definir el describe: Inicia usando describe para agrupar tus pruebas. Por ejemplo:

    describe('Probando statuses', () => {
        // contenido de las pruebas
    });
    
  3. Escribir una función it: Dentro de describe, utiliza it para definir la prueba que validará un status code exitoso:

    it('debe de validar el status code exitoso', () => {
        cy.request('/employees').its('status').should('equal', 200);
    });
    

    En este ejemplo, comprobamos que la respuesta del servidor es un status code 200, lo que indica una solicitud exitosa.

¿Cómo tratar un status code fallido?

Manejar un status code fallido es vital para identificar situaciones donde la solicitud no se ha completado correctamente:

  1. Configurar Cypress para manejar errores: A veces, Cypress termina una prueba si el status code no es exitoso. Para probar manualmente estos casos, se debe desactivar esta función:

    it('debe manejar un status code fallido', () => {
        cy.request({
            url: '/employees/4',
            failOnStatusCode: false
        }).its('status').should('equal', 404);
    });
    

    Aquí, estamos verificando que el status code 404 sea bien gestionado sin que Cypress detenga la prueba. El status 404 indica que el recurso no ha sido encontrado.

¿Qué otras validaciones son posibles con status codes?

Además de los status codes 200 y 404, puedes explorar otros códigos de estado como:

  • 201 – Created: Indica que la solicitud fue exitosa y se creó un nuevo recurso.
  • 400 – Bad Request: Señala que la solicitud fue incorrecta o no pudo ser procesada por el servidor.
  • 401 – Unauthorized: Indica que no se ha proporcionado la autenticación necesaria.
  • 500 – Internal Server Error: Se produce un error en el servidor.

Te invito a experimentar con estos y otros status codes en tus pruebas para entender cómo afectan tus solicitudes y respuestas en la API.

Continúa fortaleciendo tus habilidades en la validación de APIs y prepárate para la siguiente lección, donde aprenderás a probar el cuerpo de las respuestas para evitar errores a pesar de obtener un status code exitoso. ¡Sigue esforzándote y sumergiéndote en el fascinante mundo de la tecnología!