Tema 17 · Newman & CI/CD

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:

api-tests.yml
Solo lectura
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
1 Pregunta
Pregunta 1
¿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.