La integración continua (CI) es una práctica de desarrollo de software que implica la automatización de la integración de código de múltiples desarrolladores en un proyecto compartido. En el contexto de las pruebas de API, Postman puede integrarse en un flujo de CI para garantizar que las APIs se prueben automáticamente cada vez que se realicen cambios en el código. En esta sección, aprenderás cómo integrar Postman en un flujo de CI utilizando herramientas como Jenkins y Newman.

Conceptos Clave de Integración Continua

  1. Automatización de Pruebas: Las pruebas se ejecutan automáticamente cada vez que se realiza un cambio en el código.
  2. Feedback Rápido: Los desarrolladores reciben retroalimentación inmediata sobre el estado de las pruebas.
  3. Detección Temprana de Errores: Los errores se detectan y corrigen rápidamente, lo que reduce el costo de las correcciones.
  4. Consistencia: Las pruebas se ejecutan de manera consistente en diferentes entornos.

Herramientas Necesarias

  • Postman: Para crear y gestionar colecciones de pruebas de API.
  • Newman: Un ejecutor de línea de comandos para ejecutar colecciones de Postman.
  • Jenkins: Una herramienta de automatización de código abierto para implementar CI/CD.

Configuración de Newman

Newman es una herramienta que permite ejecutar colecciones de Postman desde la línea de comandos. Esto es esencial para integrar Postman en un flujo de CI.

Instalación de Newman

Para instalar Newman, necesitas tener Node.js y npm instalados en tu sistema. Luego, ejecuta el siguiente comando:

npm install -g newman

Ejecutar una Colección con Newman

Una vez que Newman esté instalado, puedes ejecutar una colección de Postman con el siguiente comando:

newman run <ruta-a-tu-colección>.json

Ejemplo de Ejecución

Supongamos que tienes una colección llamada mi-coleccion.postman_collection.json. Puedes ejecutarla con:

newman run mi-coleccion.postman_collection.json

Integración con Jenkins

Jenkins es una herramienta popular para implementar CI/CD. A continuación, se muestra cómo integrar Newman con Jenkins para ejecutar pruebas de API automáticamente.

Paso 1: Configurar Jenkins

  1. Instalar Jenkins: Asegúrate de tener Jenkins instalado y en funcionamiento.
  2. Instalar el Plugin de NodeJS: Ve a "Manage Jenkins" > "Manage Plugins" y busca e instala el plugin de NodeJS.

Paso 2: Configurar un Job en Jenkins

  1. Crear un Nuevo Job: Ve a "New Item" y crea un nuevo proyecto de tipo "Freestyle".

  2. Configurar el Entorno de NodeJS: En la configuración del job, habilita "Provide Node & npm bin/ folder to PATH" y selecciona la versión de NodeJS que instalaste.

  3. Agregar un Paso de Construcción: Agrega un paso de construcción de tipo "Execute shell" y escribe el comando para ejecutar Newman:

    newman run <ruta-a-tu-colección>.json
    

Paso 3: Ejecutar el Job

Una vez configurado, puedes ejecutar el job manualmente o configurarlo para que se ejecute automáticamente en respuesta a eventos como commits en un repositorio de código.

Ejercicio Práctico

Objetivo: Configurar un flujo de CI básico con Jenkins y Newman para ejecutar una colección de Postman.

Instrucciones

  1. Instala Jenkins y Newman en tu máquina local.
  2. Crea una colección de Postman que contenga al menos tres solicitudes de API.
  3. Configura un job en Jenkins que ejecute tu colección usando Newman.
  4. Ejecuta el job y verifica que las pruebas se ejecuten correctamente.

Solución

  1. Instalación: Asegúrate de que Jenkins y Newman estén instalados.
  2. Colección de Postman: Crea una colección y expórtala como JSON.
  3. Configuración de Jenkins: Sigue los pasos descritos anteriormente para configurar el job.
  4. Ejecución: Ejecuta el job y revisa los resultados en la consola de Jenkins.

Conclusión

Integrar Postman en un flujo de CI con herramientas como Jenkins y Newman permite automatizar las pruebas de API, proporcionando feedback rápido y asegurando la calidad del software. Esta práctica es esencial para mantener la integridad del código y detectar errores de manera temprana. En el siguiente tema, exploraremos cómo utilizar servidores simulados en Postman para pruebas más avanzadas.

© Copyright 2024. Todos los derechos reservados