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
- Automatización de Pruebas: Las pruebas se ejecutan automáticamente cada vez que se realiza un cambio en el código.
- Feedback Rápido: Los desarrolladores reciben retroalimentación inmediata sobre el estado de las pruebas.
- Detección Temprana de Errores: Los errores se detectan y corrigen rápidamente, lo que reduce el costo de las correcciones.
- 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:
Ejecutar una Colección con Newman
Una vez que Newman esté instalado, puedes ejecutar una colección de Postman con el siguiente comando:
Ejemplo de Ejecución
Supongamos que tienes una colección llamada mi-coleccion.postman_collection.json
. Puedes ejecutarla con:
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
- Instalar Jenkins: Asegúrate de tener Jenkins instalado y en funcionamiento.
- 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
-
Crear un Nuevo Job: Ve a "New Item" y crea un nuevo proyecto de tipo "Freestyle".
-
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.
-
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
- Instala Jenkins y Newman en tu máquina local.
- Crea una colección de Postman que contenga al menos tres solicitudes de API.
- Configura un job en Jenkins que ejecute tu colección usando Newman.
- Ejecuta el job y verifica que las pruebas se ejecuten correctamente.
Solución
- Instalación: Asegúrate de que Jenkins y Newman estén instalados.
- Colección de Postman: Crea una colección y expórtala como JSON.
- Configuración de Jenkins: Sigue los pasos descritos anteriormente para configurar el job.
- 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.
Curso de Postman y Pruebas de API
Módulo 1: Introducción a las APIs y Postman
Módulo 2: Pruebas Básicas de API con Postman
- Creando Tu Primera Solicitud
- Entendiendo Solicitud y Respuesta
- Usando Colecciones de Postman
- Variables de Entorno en Postman
Módulo 3: Técnicas Intermedias de Pruebas de API
- Encadenando Solicitudes
- Usando Scripts de Postman
- Pruebas Basadas en Datos con Postman
- Pruebas de APIs RESTful
Módulo 4: Funciones Avanzadas de Postman
- Automatizando Pruebas con Newman
- Integración Continua con Postman
- Servidores Simulados en Postman
- Técnicas Avanzadas de Scripting
Módulo 5: Mejores Prácticas de Pruebas de API
- Diseñando Casos de Prueba Efectivos
- Manejo de Autenticación
- Manejo de Errores y Depuración
- Pruebas de Rendimiento con Postman