Newman CLI: Ejecución de Pruebas de APIs en Terminal y CI/CD
Aprende a ejecutar colecciones de Postman desde la consola mediante Newman e intégralas en pipelines automatizados de GitHub Actions para garantizar calidad continua.
¿Qué es Newman?
Newman es el ejecutor de colecciones oficial de Postman para la línea de comandos (CLI). Permite ejecutar cualquier colección de peticiones y suites de tests de manera headless (sin interfaz gráfica), lo que lo convierte en el estándar de la industria para integrar pruebas de APIs en servidores y pipelines de Integración Continua (CI/CD).
Instalación de Newman
Newman se distribuye como paquete global de Node.js a través del gestor npm:
# Instalación global de Newman
npm install -g newman
# Opcional: Instalación del generador de reportes visuales HTML de alta fidelidad
npm install -g newman-reporter-htmlextra
Ejecución de Pruebas desde la Terminal
Exporta tu colección desde Postman (formato Collection v2.1) y tu archivo de variables de entorno (formato JSON):
- Ejecución básica por consola:
newman run mi-coleccion.json -e mi-entorno.json - Generación de reporte web HTML interactivo:
newman run mi-coleccion.json -e mi-entorno.json -r cli,htmlextra --reporter-htmlextra-export reporte-api.html - Ejecución con retardo entre peticiones y reintentos:
newman run mi-coleccion.json -e mi-entorno.json --delay-request 300 --bail
Integración en GitHub Actions (CI/CD)
El mayor valor de Newman reside en la automatización: cada vez que un programador crea un Pull Request en GitHub, una máquina virtual de Ubuntu se inicia, instala Newman, corre todas las peticiones contra el servidor de pruebas y bloquea el despliegue a producción si alguna prueba de API falla.
⚡ Pipeline Automatizado de GitHub Actions con Newman CLI
Guarda este archivo en tu repositorio bajo la ruta .github/workflows/api-tests.yml:
name: Pruebas Automatizadas de APIs con Newman
on:
push:
branches: [ "main", "develop" ]
pull_request:
branches: [ "main" ]
jobs:
api-testing:
runs-on: ubuntu-latest
steps:
# 1. Descargar el código fuente del repositorio
- name: Checkout del repositorio
uses: actions/checkout@v4
# 2. Configurar entorno Node.js
- name: Configurar Node.js
uses: actions/setup-node@v4
with:
node-version: '20'
# 3. Instalar Newman y el reporter HTML
- name: Instalar Newman CLI
run: |
npm install -g newman
npm install -g newman-reporter-htmlextra
# 4. Ejecutar la suite de pruebas contra el servidor Staging
- name: Ejecutar Pruebas de Postman con Newman
run: |
newman run tests/postman/Kilopolis-API.postman_collection.json \
-e tests/postman/Staging.postman_environment.json \
-r cli,htmlextra \
--reporter-htmlextra-export newman-report.html
# 5. Guardar el reporte HTML generado como artefacto descargable
- name: Guardar Reporte de Resultados
if: always()
uses: actions/upload-artifact@v4
with:
name: reporte-pruebas-api
path: newman-report.html
Mini-Quiz de Retención
Comprueba tu comprensión antes de pasar a la siguiente lección¿Cuál es la función principal de la herramienta Newman en el ecosistema de Postman?
¿Tienes dudas con este tema?
Sócrates AI puede darte analogías y explicarte este código paso a paso.🚀 ¿Quieres dominar Manual de Postman: Pruebas de APIs REST & Automatización y crear proyectos reales?
Aprende arquitectura limpia, desarrollo web moderno, buenas prácticas y despliegue en producción con nuestro Bootcamp Fullstack Developer con mentorías en vivo.
🏛️ Autoría y Propiedad Intelectual: Obra educativa original de David Amador para Kilopolis Academia (Solucionáticos), estructurada sobre las especificaciones y estándares abiertos del W3C, el estándar vivo de WHATWG y la documentación oficial de código abierto. © Todos los derechos reservados.