TOKREPO · ARSENAL
Estable

Stack de Pruebas API

Bruno, Hoppscotch, Hurl, k6, Artillery, Locust — reemplazos open-source de Postman + JMeter, sin atadura SaaS.

6 recursos

Qué incluye este pack

Este pack reúne las seis herramientas open-source que han reemplazado Postman y JMeter en equipos de ingeniería modernos. Los cambios de precios de Postman y la sincronización forzada en la nube desde 2023 empujaron a muchos equipos fuera; JMeter sigue funcionando pero sus scripts XML y ecosistema solo-Java son dolorosos al lado de alternativas JavaScript-nativas. El pack divide la superficie en tres problemas: exploración interactiva, aserciones CI y generación de carga.

# Recurso Rol Característica notable
1 Bruno Cliente interactivo Archivos .bru texto plano, colecciones versionables en git
2 Hoppscotch Cliente interactivo Browser-first, auto-alojable, colaboración en tiempo real
3 Hurl Runner CI DSL texto plano, binario único, perfecto para Makefiles
4 k6 Pruebas de carga Scripting JavaScript, dashboards Grafana-nativos
5 Artillery Pruebas de carga Escenarios YAML, carga browser via Playwright
6 Locust Pruebas de carga Tests Python puros, modelo distribuido master-worker

La triada cliente interactivo + runner CI + generador de carga cubre el ciclo completo. Bruno o Hoppscotch es donde clicas mientras escribes endpoints. Hurl es lo que corre en CI para confirmar que el contrato no derivó. k6 / Artillery / Locust es lo que corre contra staging antes de cada release.

Por qué dejar Postman y JMeter

Tres fuerzas convergieron. Postman fue cloud-only por defecto en 2023 — colecciones sincronizan a sus servidores, compartir requiere cuentas, el tier gratis se redujo. La UX de JMeter es de 2005 — configs XML, GUI-first, sin historia de scripting agradable. CI demanda diffabilidad — Postman exporta blobs JSON que producen diffs PR ilegibles; el .bru de Bruno y el texto plano de Hurl producen diffs legibles que los reviewers pueden auditar.

Más allá de la migración, el pack open-source añade capacidades que Postman nunca tuvo:

  • Correr la misma prueba de carga en tres motores para triangular (k6 para HTTP-heavy, Artillery para flujos browser, Locust cuando tu equipo Python quiere quedarse en Python).
  • Los archivos Hurl son documentación — pega un .hurl en un runbook y cualquier ingeniero con curl puede leerlo.
  • Auto-aloja Hoppscotch para mantener datos enterprise en tu red — el tier enterprise de Postman cobra por asiento.

Instala en un comando

# Instala el pack completo en el proyecto actual
tokrepo install pack/api-testing-stack

# O elige recursos individuales
tokrepo install hurl
tokrepo install k6

El TokRepo CLI escribe esqueletos de colección Bruno, un directorio tests/api/*.hurl, y una carpeta loadtest/ con plantillas para k6, Artillery y Locust. Snippets CI para GitHub Actions y GitLab CI incluidos por recurso.

Errores comunes

  • Tratar resultados k6 como realistas sin warm-up. k6 escala rápido por defecto; si arrancas en 1000 VUs, tu servicio pasa los primeros 30 segundos llenando cachés y tu p99 se ve peor de lo que es. Usa stages con rampa de 30-60s.
  • Aserciones Hurl sobre texto del body. Aserta sobre paths JSON (jsonpath "$.user.id"), no substrings. Comparaciones de texto fallan espuriamente cuando tu serializador cambia espacios u orden de keys.
  • Compartir colecciones Bruno sin estrategia de environments/. Bruno soporta variables por entorno; si commiteas credenciales directo en archivos .bru, filtraste secretos a git. Usa patrones bru env y .env.local.
  • Locust en RPS muy alto en una máquina. El GIL de Locust significa que un proceso Python topa cerca de 1k-2k RPS; usa --master + múltiples --worker, o cambia a k6 para escenarios >5k RPS.
  • Olvidar registrar p99 junto con throughput. Un test que pega 10k RPS con p50=20ms es nada si p99=8s. Exporta siempre el histograma de latencia, no solo la media.

Flujo de trabajo recomendado

Una vez instalado, el día a día se ve así. El ingeniero draftea un endpoint y lo explora en Bruno contra un server local, commiteando los archivos .bru resultantes. Traduce el happy path y dos casos de fallo a tests/api/users.hurl — los tests Hurl son ahora el contrato. CI corre la suite Hurl en cada PR; fallos bloquean el merge. Una vez el endpoint llega a staging, un job programado de Prefect corre el baseline k6 (200 VUs por 5 minutos) y compara p95/p99 contra el checkpoint del deploy previo. Regresiones disparan alerta Slack con link al dashboard Grafana.

Antes de cada release mayor, el equipo corre Artillery contra staging con un escenario Playwright que imita navegación real, luego Locust con un escenario 10x para encontrar el cliff. Los tres motores discrepan 10-20% en RPS crudo pero siempre concuerdan en la forma de la curva — confías en el punto de inflexión aunque los números individuales diverjan.

Relación con otros packs

Este pack se empareja con Orquestación de Flujos (corre pruebas de carga nocturnas via cron Inngest o Prefect) y Generadores de Sitios Estáticos & Docs (publica docs OpenAPI que coincidan con lo que tus tests Hurl asertan — fuente única de verdad entre docs y tests). Para observabilidad completa, añade Charts & Visualización para renderizar el output CSV de k6 vía Apache ECharts o Grafana.

INSTALAR · UN COMANDO
$ tokrepo install pack/api-testing-stack
pásalo a tu agente — o pégalo en tu terminal
Qué incluye

6 recursos listos para instalar

Script#01
Bruno — Open-Source IDE for API Exploration & Testing

Bruno is an open-source IDE for exploring and testing APIs — a lightweight, offline-first alternative to Postman and Insomnia. Stores collections as plain text files in your filesystem so they version-control naturally with Git.

by Script Depot·92 views
$ tokrepo install bruno-open-source-ide-api-exploration-testing-89ca3775
Agent#02
Hoppscotch — Open-Source API Development Platform

Test APIs with a beautiful UI. REST, GraphQL, WebSocket, SSE, and gRPC. Self-hostable Postman alternative. 78K+ GitHub stars.

by AI Open Source·101 views
$ tokrepo install hoppscotch-open-source-api-development-platform-1a83c479
Script#03
Hurl — Run and Test HTTP Requests with Plain Text

Hurl is a command-line tool that runs HTTP requests defined in a simple plain text format. Chain requests, capture values, assert responses, and use it for API testing in CI/CD. Written in Rust on top of libcurl for maximum compatibility.

by Script Depot·84 views
$ tokrepo install hurl-run-test-http-requests-plain-text-42405722
Script#04
k6 — Modern Load Testing Tool Using Go and JavaScript

k6 is a modern load testing tool built by Grafana Labs. Write test scripts in JavaScript, run them in a high-performance Go runtime. Developer-centric with CLI-first workflow, CI/CD integration, and Grafana Cloud for result analysis.

by Script Depot·92 views
$ tokrepo install k6-modern-load-testing-tool-using-go-javascript-4240522f
Config#05
Artillery — Modern Load Testing for HTTP, WebSocket & More

Node.js load testing toolkit with YAML scenarios covering HTTP, WebSocket, gRPC and Playwright, plus distributed runs on AWS Fargate.

by AI Open Source·89 views
$ tokrepo install artillery-modern-load-testing-http-websocket-more-729c7c2c
Config#06
Locust — Scalable Load Testing in Pure Python

Locust is an open-source load testing tool where you define user behavior in plain Python code. Distributed, scalable, and with a real-time web UI for monitoring. No DSL to learn — just write Python.

by AI Open Source·83 views
$ tokrepo install locust-scalable-load-testing-pure-python-42405496
FAQ

Preguntas frecuentes

¿Es gratis correr todo el pack?

Sí. Cada herramienta es open source bajo licencias permisivas (MIT, Apache 2.0, AGPL para auto-host de Hoppscotch). k6 tiene un servicio Grafana Cloud k6 pago para almacén gestionado de resultados, pero el binario OSS corre tests ilimitados local o en tu CI. Artillery tiene tier pro pago con reporte gestionado; el CLI core es gratis. Locust y Hurl son incondicionalmente gratis.

¿Cómo se compara con Postman?

Postman sigue siendo la experiencia más fluida para exploración API por primera vez gracias a su UX madura. El pack open-source iguala paridad de features para colecciones, entornos y scripts de test, con dos grandes ventajas: archivos texto que difen limpio en code review, y auto-host para que los secretos no salgan de tu red. Trade-off: UX de colaboración menos madura, sin monitoreo API integrado (usa Workflow Orchestration en su lugar).

¿Funcionará con Claude Code o Cursor?

Sí. Claude Code puede crear colecciones Bruno, tests Hurl y scripts k6 desde una spec OpenAPI — las páginas de recurso TokRepo incluyen prompts subagente. Flujo común: dale a Claude un openapi.yaml, pídele generar tests/api/*.hurl cubriendo cada endpoint, luego corre hurl --test tests/api/*.hurl en CI. Cursor obtiene reglas equivalentes en .cursor/rules/.

¿Qué diferencia a Bruno de Hoppscotch?

Bruno es desktop-first, basado en archivos — las colecciones viven en tu disco como .bru texto. Mejor para equipos pequeños que ya usan git como fuente de verdad. Hoppscotch es browser-first con auto-host opcional, con modelo de colaboración tiempo real más rico — mejor cuando product managers y QA también necesitan ver resultados de requests. La mayoría elige uno, pero coexisten bien si migras gradualmente.

¿Trampa operativa al correr k6 en CI?

k6 emite exit code 0 incluso cuando thresholds fallan a menos que pongas --quiet=false y mires stderr — o mejor, usa thresholds con abortOnFail: true por check. Muchos equipos envían CI verde que secretamente violó SLOs p99 porque confiaron en el exit code. También: canaliza el --out de k6 a JSON y archívalo como artefacto CI para comparar runs en el tiempo.

MÁS DEL ARSENAL

12 packs · 80+ recursos seleccionados

Explora todos los packs curados en la página principal

Volver a todos los packs