La CLI de Hoppscotch es una forma gratuita y de código abierto de ejecutar colecciones de API desde el terminal. Si ya usas Hoppscotch en web o escritorio, hopp test te permite llevar esas mismas solicitudes a CI sin pagar por un runner adicional.
Pero la CLI de Hoppscotch está diseñada para un alcance limitado: ejecuta colecciones y reporta resultados. No diseña APIs, no genera mocks, no publica documentación ni gestiona recursos como código. Por eso muchos equipos terminan buscando alternativas cuando necesitan un flujo más completo o cuando un requisito como Node.js v22 complica sus pipelines.
Qué hace realmente la CLI de Hoppscotch
La CLI de Hoppscotch se distribuye como el paquete npm @hoppscotch/cli.
Instalación:
npm i -g @hoppscotch/cli
Punto importante antes de usarla en CI: requiere Node.js v22 o posterior. Si tu imagen base usa Node 20, tendrás que fijar la CLI en v0.26.0 o modificar la versión de Node del job.
El comando principal es hopp test. Lo ejecutas contra una colección local y, opcionalmente, un entorno:
hopp test ./collection.json -e ./environment.json -d 500
Para una colección alojada en Hoppscotch Cloud o en una instancia autoalojada:
hopp test <collection-id> \
-e <environment-id> \
--token <access_token> \
--server <server-url>
En la práctica, hopp test:
- Ejecuta las solicitudes de la colección en orden.
- Ejecuta scripts previos a la solicitud.
- Ejecuta scripts de prueba con
pw.test()ypw.expect(). - Valida respuestas.
- Devuelve un código de salida distinto de cero si falla alguna aserción.
- Puede generar JUnit XML con
--reporter-junit <path>. - Soporta iteraciones con
--iteration-count. - Soporta datos CSV con
--iteration-data <csv>.
Ejemplo típico para CI:
hopp test ./collection.json \
-e ./environment.json \
--reporter-junit ./reports/hoppscotch.xml
Es un runner gratuito y capaz, pero sigue siendo solo eso: un runner de colecciones.
Por qué los equipos buscan una alternativa a hopp test
Las razones suelen ser prácticas:
- Solo ejecuta colecciones. El diseño, los mocks y la documentación viven en otras herramientas.
- Depende de archivos exportados o IDs de nube. Normalmente trabajas con colecciones y entornos exportados, no con una capa de diseño gestionada desde la CLI.
- Requiere Node.js v22. Esto puede romper imágenes de CI compartidas o pipelines que todavía usan Node 18/20.
- No ofrece un flujo de “API como código”. No gestionas endpoints, esquemas, ramas o solicitudes de fusión desde la CLI.
- No incluye linting OpenAPI independiente. Si quieres puertas de calidad de especificaciones, necesitas otra herramienta.
Hoppscotch no es una mala opción. Es una opción enfocada. Si solo necesitas ejecutar colecciones, puede ser suficiente. Si quieres cubrir más partes del ciclo de vida de una API, estas alternativas son mejores candidatas.
1. Apidog CLI: alternativa todo en uno
Apidog es una plataforma de API que cubre diseño, depuración, mocking, documentación y pruebas. Su CLI permite llevar escenarios de prueba y gestión de recursos a terminales y pipelines CI/CD.
Con apidog run, puedes ejecutar escenarios de prueba desde línea de comandos:
apidog run <scenario-id> -e <environment-id>
También puedes ejecutar pruebas con datos externos:
apidog run <scenario-id> \
-e <environment-id> \
-d ./data.csv
O con un conjunto de datos JSON:
apidog run <scenario-id> \
-e <environment-id> \
-d ./data.json
Para reportes, Apidog CLI soporta salidas de consola, HTML y JSON, además de reportes en la nube con --upload-report.
Ejemplo orientado a CI:
apidog run <scenario-id> \
-e <environment-id> \
--reporter-html ./reports/apidog.html \
--reporter-json ./reports/apidog.json \
--upload-report
La diferencia frente a un runner puro es que Apidog también puede trabajar con recursos de API: importar OpenAPI y gestionar endpoints, esquemas, entornos, ramas y solicitudes de fusión como parte del flujo de trabajo.
Alcance preciso: Apidog valida especificaciones al importarlas, pero no incluye un linter OpenAPI independiente ni comandos tipo split, join o bundle. Si tu necesidad principal es linting OpenAPI en CI, inso o Redocly CLI encajan mejor.
Pros:
- Diseño, mocking, documentación y pruebas en una sola plataforma.
- Ejecuciones basadas en datos con CSV o JSON.
- Reportes CLI, HTML, JSON y reportes subibles a la nube.
- Gestión de recursos de API desde CLI.
- Importación directa de OpenAPI.
Contras:
- No incluye un comando de linting OpenAPI independiente.
- Puede ser más de lo necesario si solo quieres ejecutar una colección exportada.
Recursos útiles:
- Apidog CLI vs Hoppscotch CLI
- Migrar Hoppscotch CLI a Apidog CLI
- Guía completa de la CLI de Apidog
- Descargar Apidog
2. Newman: el runner de Postman
Newman es el ejecutor oficial de colecciones de Postman para línea de comandos. Si tu equipo ya usa Postman, normalmente es la migración más simple: exportas la colección y el entorno, y los ejecutas en CI.
newman run collection.json -e env.json -r cli,json
Ejemplo con reporte JUnit:
newman run collection.json \
-e env.json \
-r cli,junit \
--reporter-junit-export ./reports/newman.xml
Ejemplo con datos de iteración:
newman run collection.json \
-e env.json \
-d users.csv \
-r cli,json
Pros:
- Maduro y muy documentado.
- Ecosistema amplio.
- Integración natural con Postman.
- Reportes flexibles.
- Buen soporte para iteraciones basadas en datos.
Contras:
- También es principalmente un runner.
- No aporta una capa propia de diseño, mocks o documentación.
- Depende del formato de colección de Postman.
- Normalmente requiere exportar JSON.
Comparación relacionada: Apidog CLI vs Newman.
3. inso: la CLI de Insomnia de Kong
inso es la CLI asociada a Insomnia. Su ventaja principal frente a Hoppscotch CLI es que puede verificar especificaciones OpenAPI mediante Spectral.
Comandos comunes:
inso run test "My Test Suite" --env "Staging"
inso lint spec "My API Design"
inso export spec "My API Design" --output output.yaml
Puedes instalarlo con Homebrew:
brew install inso
O usar Docker:
docker pull kong/inso:latest
inso lee recursos desde un directorio .insomnia generado por Git Sync de Insomnia o desde el directorio de datos de la aplicación. En scripts, normalmente referencias suites y especificaciones por nombre.
Pros:
- Linting real de OpenAPI mediante Spectral.
- Ejecuta pruebas desde terminal.
- Exporta especificaciones.
- Instalación disponible vía Brew y Docker.
Contras:
- Referenciar recursos por nombre puede ser frágil en automatizaciones.
- Insomnia 8 introdujo inicio de sesión/cuenta en la nube obligatoria en 2023, lo que generó controversia e incidentes de migración y pérdida de datos.
Lecturas relacionadas:
4. Step CI: pruebas de API declarativas en YAML
Step CI permite definir pruebas de API en YAML declarativo. En lugar de escribir scripts JavaScript, describes la solicitud y la respuesta esperada.
Ejecutar un workflow:
npx stepci run workflow.yml
Ejemplo simplificado de workflow.yml:
version: "1.1"
name: API health check
env:
host: https://api.example.com
tests:
health:
steps:
- name: Check health endpoint
http:
url: ${{env.host}}/health
method: GET
check:
status: 200
jsonpath:
$.status: up
Step CI soporta REST, GraphQL y gRPC, lo que lo hace útil si tienes varios protocolos en el mismo repositorio.
Pros:
- YAML declarativo y fácil de revisar en pull requests.
- Configuración nativa de Git.
- Soporte para REST, GraphQL y gRPC.
- No depende de una GUI.
Contras:
- Ecosistema más pequeño.
- No incluye diseño, mocking o documentación.
- Las pruebas se escriben manualmente.
Step CI encaja bien si quieres pruebas versionadas en Git y no necesitas una interfaz visual.
5. Hurl: pruebas HTTP en texto plano
Hurl ejecuta solicitudes HTTP escritas en archivos de texto plano y permite hacer aserciones sobre las respuestas. Está construido sobre libcurl, es rápido y funciona bien para smoke tests.
Archivo health.hurl:
GET https://api.example.com/health
HTTP 200
[Asserts]
jsonpath "$.status" == "up"
Ejecución:
hurl --test health.hurl
Ejemplo con variable:
hurl --test health.hurl --variable host=https://api.example.com
Archivo usando variable:
GET {{host}}/health
HTTP 200
[Asserts]
jsonpath "$.status" == "up"
Pros:
- Muy ligero.
- Binario único.
- Rápido para CI.
- Archivos de texto plano fáciles de revisar.
- Bueno para health checks y smoke tests.
Contras:
- Más bajo nivel que un framework de pruebas completo.
- No incluye diseño, mocking ni documentación.
- Menos cómodo para escenarios complejos, encadenados o muy basados en datos.
Hurl es ideal cuando necesitas validaciones HTTP rápidas, legibles y versionables.
Tabla comparativa
| Herramienta | Licencia | Enfoque principal | Basado en datos | Linting de especificaciones | Diseño/simulación/docs | Formatos de informe |
|---|---|---|---|---|---|---|
| Apidog CLI | Comercial (nivel gratuito) | Plataforma completa + pruebas CLI | Sí (CSV/JSON) | No (valida en la importación) | Sí | CLI, HTML, JSON, nube |
| Hoppscotch CLI | Código abierto | Ejecutor de colecciones | Sí (iteraciones CSV) | No | No | CLI, JUnit |
| Newman | Código abierto | Ejecutor de Postman | Sí (archivos de datos) | No | No | CLI, JSON, JUnit, HTML |
| inso | Código abierto | Ejecutor de Insomnia + linter | Limitado | Sí (Spectral) | Parcial (docs de diseño) | CLI, JUnit |
| Step CI | Código abierto | Pruebas de API en YAML | Sí | No | No | CLI, JUnit |
| Hurl | Código abierto | Pruebas HTTP de texto plano | Mediante plantillas | No | No | CLI, JUnit, HTML |
Cómo elegir
Usa esta regla práctica:
- Quieres una plataforma para diseño, mocks, documentación y pruebas: usa Apidog CLI.
- Tu equipo ya trabaja en Postman: usa Newman.
-
Necesitas linting OpenAPI en CI: usa
inso. - Quieres pruebas declarativas versionadas en Git: usa Step CI.
- Quieres smoke tests HTTP simples y rápidos: usa Hurl.
-
Solo quieres evitar Node.js v22: Newman, Step CI, Hurl o
insopueden ser opciones más cómodas según tu stack.
Si estás cambiando porque Hoppscotch CLI se queda corta como runner aislado, evalúa primero una ruta integrada. Estos recursos muestran cómo encaja Apidog CLI en pipelines reales:
Preguntas frecuentes
¿La CLI de Hoppscotch es gratuita?
Sí. @hoppscotch/cli es de código abierto y se puede usar gratis. Ejecuta colecciones, scripts de prueba y puede generar reportes JUnit. Las alternativas no resuelven un problema de precio, sino de alcance.
¿Cuál es la alternativa más simple si no quiero Node.js v22?
Hurl es la opción más ligera porque funciona como binario único y no depende de Node. inso se puede instalar con Homebrew o Docker. Step CI usa npx, pero no tiene el mismo requisito específico de Node.js v22 que la CLI actual de Hoppscotch.
¿Puedo mover mis colecciones de Hoppscotch a otra herramienta?
Sí. La mayoría de herramientas trabajan con colecciones exportadas u OpenAPI. Para una ruta integrada, revisa la guía migrar Hoppscotch CLI a Apidog CLI.
¿Apidog CLI verifica OpenAPI igual que inso?
No. Apidog valida las especificaciones al importarlas, pero no ofrece un comando de linting independiente. Si necesitas aplicar reglas estilo Spectral en CI, combina Apidog con inso o compara el enfoque con Apidog CLI vs Redocly CLI.
¿Qué alternativa funciona mejor en CI?
Todas pueden funcionar en CI porque devuelven códigos de salida distintos de cero cuando fallan las pruebas. La diferencia está en el flujo:
- Para ejecutar colecciones: Newman.
- Para smoke tests rápidos: Hurl.
- Para YAML declarativo: Step CI.
- Para linting OpenAPI:
inso. - Para una fuente única de diseño, documentación y pruebas: Apidog CLI.
Conclusión
La CLI de Hoppscotch hace bien su trabajo: ejecutar colecciones. Si eso es todo lo que necesitas, puedes quedarte con ella.
Si necesitas consolidar diseño, mocking, documentación y pruebas en un flujo más completo, una plataforma integrada reduce el intercambio de archivos exportados y la cantidad de herramientas conectadas manualmente. Empieza con la guía completa de la CLI de Apidog, luego descarga Apidog y ejecuta tu primer escenario desde CI.
Top comments (0)