DEV Community

Cover image for ¿Qué es Keploy? Pruebas de API con Grabación y Reproducción
Roobia
Roobia

Posted on • Originally published at apidog.com

¿Qué es Keploy? Pruebas de API con Grabación y Reproducción

Si quiere generar pruebas de API sin escribirlas manualmente, Keploy es una opción práctica: observa el tráfico real de su aplicación, captura solicitudes, respuestas y dependencias, y las convierte en pruebas reproducibles. En esta guía verá cómo funciona, cómo instalarlo, cómo grabar y reproducir pruebas, cómo llevarlo a CI y cuándo conviene compararlo con una plataforma como Apidog.

Prueba Apidog hoy

¿Qué es Keploy?

Keploy es una plataforma de código abierto bajo licencia Apache-2.0 para generar pruebas de API, integración y extremo a extremo a partir del comportamiento real de una aplicación.

La idea es simple: si su aplicación ya recibe tráfico que representa casos reales, Keploy puede observar ese tráfico y convertirlo en pruebas ejecutables.

Record replay

Keploy ofrece dos flujos principales:

  1. Grabación y reproducción: captura llamadas reales de API y sus dependencias, y luego las reproduce como pruebas de regresión.
  2. Generación de pruebas con IA: crea suites de pruebas a partir de una especificación, colección, comando cURL o endpoint en vivo.

El resultado son pruebas ejecutables junto con mocks/stubs para ejecutar esas pruebas sin depender de servicios externos en vivo.

Repositorio: github.com/keploy/keploy

Documentación: keploy.io/docs

Cómo funciona la grabación de Keploy con eBPF

Keploy se diferencia porque no requiere SDK ni cambios en el código de la aplicación.

Cuando ejecuta:

keploy record -c "CMD_TO_RUN_APP"
Enter fullscreen mode Exit fullscreen mode

Keploy observa el tráfico en la capa de red usando eBPF, una tecnología del kernel de Linux que permite inspeccionar eventos del sistema de forma segura.

En la práctica, esto significa:

  • Captura sin código: no necesita instrumentar handlers, middlewares ni clientes HTTP.
  • Independencia del lenguaje: al capturar en red, funciona con servicios escritos en Go, Java, Node.js, Python, Rust, etc.
  • Captura de dependencias: no solo registra la llamada entrante a la API, también las llamadas salientes a bases de datos, colas o servicios externos.

Por cada interacción observada, Keploy genera dos tipos de artefactos:

  • Un caso de prueba con la solicitud y la respuesta esperada.
  • Mocks/stubs de las dependencias utilizadas durante esa solicitud.

Luego, durante la reproducción, Keploy vuelve a enviar las solicitudes grabadas, sirve las respuestas de dependencias desde los mocks y compara la nueva respuesta de su aplicación con la respuesta original.

Si hay diferencias, la prueba falla.

Flujo 1: grabar y reproducir pruebas

Use este flujo cuando ya tenga una aplicación en ejecución y quiera cobertura de regresión rápidamente.

1. Inicie su aplicación con Keploy

Por ejemplo, para una app Node.js:

keploy record -c "node server.js"
Enter fullscreen mode Exit fullscreen mode

Keploy arrancará la aplicación y quedará escuchando el tráfico.

2. Ejercite la API

Puede generar tráfico de varias formas:

curl http://localhost:3000/users
curl -X POST http://localhost:3000/users \
  -H "Content-Type: application/json" \
  -d '{"name":"Ana"}'
Enter fullscreen mode Exit fullscreen mode

También puede usar Postman, una prueba de integración existente o tráfico real controlado.

3. Reproduzca las pruebas

Después de grabar, ejecute:

keploy test -c "node server.js" --delay 10
Enter fullscreen mode Exit fullscreen mode

La opción --delay 10 le dice a Keploy que espere 10 segundos antes de enviar las solicitudes grabadas. Esto da tiempo a que el servicio termine de iniciar.

Si su aplicación tarda más:

keploy test -c "node server.js" --delay 30
Enter fullscreen mode Exit fullscreen mode

Flujo 2: generación de pruebas con IA

Use este flujo cuando quiera ampliar la cobertura más allá de los casos que grabó manualmente.

Keploy puede generar suites de prueba a partir de:

  • Una especificación OpenAPI.
  • Una colección Postman.
  • Un comando cURL.
  • Un endpoint en vivo.

Este flujo es útil cuando parte de un contrato de API y quiere generar casos iniciales sin escribirlos desde cero.

La generación con IA complementa la grabación:

  • Grabación y reproducción: valida comportamiento real observado.
  • Generación con IA: ayuda a cubrir rutas, entradas y escenarios adicionales definidos por contrato.

Si está evaluando herramientas de este tipo, también puede revisar esta guía de generadores de casos de prueba con IA y esta guía para generar scripts de prueba desde OpenAPI.

Instalación de Keploy

En un sistema compatible, instale Keploy con:

curl --silent -O -L https://keploy.io/install.sh && source install.sh
Enter fullscreen mode Exit fullscreen mode

Después de la instalación, verifique que el comando esté disponible:

keploy --version
Enter fullscreen mode Exit fullscreen mode

Comandos principales

Keploy se usa principalmente con dos comandos.

Grabar tráfico

keploy record -c "CMD_TO_RUN_APP"
Enter fullscreen mode Exit fullscreen mode

Ejemplo:

keploy record -c "node server.js"
Enter fullscreen mode Exit fullscreen mode

Reproducir pruebas

keploy test -c "CMD_TO_RUN_APP" --delay 10
Enter fullscreen mode Exit fullscreen mode

Ejemplo:

keploy test -c "node server.js" --delay 10
Enter fullscreen mode Exit fullscreen mode

Un ciclo completo sería:

# 1. Grabar mientras llama a la API
keploy record -c "node server.js"

# 2. Reproducir lo capturado como pruebas de regresión
keploy test -c "node server.js" --delay 10
Enter fullscreen mode Exit fullscreen mode

La práctica recomendada es grabar contra una versión conocida como estable y luego ejecutar keploy test en cada cambio.

Lenguajes, protocolos y almacenes compatibles

Como la captura ocurre en la capa de red, Keploy cubre una superficie amplia.

Categoría Soportado
Lenguajes Go, Java, Node.js, Python, Rust, C#, C/C++, TypeScript y más
Protocolos HTTP/REST, gRPC, GraphQL, Kafka, RabbitMQ
Almacenes de datos PostgreSQL, MySQL, MongoDB, Redis

Esta compatibilidad viene del enfoque basado en eBPF: Keploy observa conversaciones de red, no detalles internos del framework.

Ejecutar Keploy en CI

Keploy encaja bien en pipelines de CI porque las pruebas grabadas y los mocks pueden versionarse junto con el código.

Un flujo típico sería:

  1. Grabar pruebas localmente o en un entorno controlado.
  2. Confirmar los artefactos generados en el repositorio.
  3. Ejecutar keploy test en CI.
  4. Fallar la build si hay desviaciones.

Ejemplo conceptual:

steps:
  - name: Install Keploy
    run: curl --silent -O -L https://keploy.io/install.sh && source install.sh

  - name: Run Keploy tests
    run: keploy test -c "node server.js" --delay 10
Enter fullscreen mode Exit fullscreen mode

Como Keploy reproduce dependencias desde mocks, el runner de CI no necesita necesariamente una base de datos o servicio descendente en vivo para ejecutar esos casos.

Limitaciones a considerar

Keploy es útil, pero no sustituye todas las capas de testing ni todo el ciclo de vida de una API.

Tenga en cuenta estas limitaciones:

  • Depende del entorno Linux y de permisos elevados: eBPF es una capacidad del kernel de Linux, y la captura a ese nivel suele requerir permisos específicos.
  • Las pruebas generadas deben revisarse: el tráfico real puede incluir ruido, datos temporales o comportamientos que no quiere convertir en contrato.
  • No es una plataforma completa de ciclo de vida de API: Keploy se centra en capturar, generar y reproducir pruebas. No cubre diseño de API, documentación colaborativa, publicación de mocks para consumidores o gestión completa de especificaciones.

La forma práctica de adoptarlo es usarlo como generador de cobertura inicial y luego curar qué pruebas deben mantenerse como regresión.

Dónde encaja Apidog como alternativa diseñada para pruebas mantenibles

Si su necesidad va más allá de convertir tráfico observado en pruebas de regresión, puede considerar una plataforma de ciclo de vida completo como Apidog.

Apidog cubre diseño, depuración, simulación, documentación y pruebas de API en un solo lugar.

Apidog

La diferencia principal es el enfoque:

  • Keploy captura comportamiento real en ejecución y lo reproduce con mocks de dependencias.
  • Apidog permite diseñar, mantener y ejecutar escenarios de prueba dentro de una plataforma API completa.

Con la CLI de Apidog, puede ejecutar colecciones desde terminal o CI, usar pruebas basadas en datos con CSV o JSON, cambiar entornos y generar reportes CLI, HTML y JSON.

Apidog también ofrece generación de casos de prueba con IA a partir del esquema y los endpoints de API.

El límite es claro: Apidog no captura tráfico en vivo mediante eBPF ni genera automáticamente pruebas desde llamadas de producción con mocks de dependencias. Esa es una capacidad propia de Keploy.

Elija según el objetivo:

  • Use Keploy si quiere capturar tráfico real y convertirlo rápidamente en pruebas de regresión.
  • Use Apidog si quiere pruebas diseñadas, mantenibles y conectadas con documentación, mocks, depuración y colaboración de API.

Para profundizar, consulte Apidog vs Keploy. Si quiere migrar pruebas, revise este tutorial de migración.

También puede descargar Apidog y empezar con esta guía para probar una API con Apidog.

Preguntas frecuentes

¿Keploy es gratuito y de código abierto?

Sí. Keploy es de código abierto bajo licencia Apache-2.0. El código está disponible en GitHub y puede autoalojarlo.

¿Keploy requiere cambiar el código de mi aplicación?

No. El flujo de grabación y reproducción captura tráfico en la capa de red con eBPF, por lo que no necesita SDK ni cambios de código.

¿Para qué sirve --delay en keploy test?

Define cuántos segundos espera Keploy antes de enviar las solicitudes grabadas. Por ejemplo:

keploy test -c "node server.js" --delay 10
Enter fullscreen mode Exit fullscreen mode

Esto espera 10 segundos para que la aplicación termine de iniciar.

¿Keploy puede simular mi base de datos durante las pruebas?

Sí. Durante la grabación, Keploy captura llamadas de dependencia, incluidas consultas a base de datos, y genera mocks para reproducirlas sin una base de datos en vivo.

¿Keploy reemplaza una herramienta de diseño y documentación de API?

No. Keploy es una herramienta de generación y ejecución de pruebas. Para diseño de API, documentación, mocks para consumidores, colaboración y pruebas mantenibles, una plataforma de ciclo de vida completo como Apidog encaja mejor.

Resumen

Keploy convierte tráfico real de API en pruebas reproducibles. Usa eBPF para capturar solicitudes, respuestas y dependencias en la capa de red sin modificar el código. Luego reproduce esas interacciones como pruebas de regresión deterministas.

Es una buena opción si quiere generar cobertura rápidamente desde comportamiento real. Sus principales límites son el entorno Linux/eBPF, la necesidad de revisar las pruebas generadas y su alcance centrado en testing.

Si necesita una plataforma más amplia para diseñar, documentar, simular, depurar y probar APIs, Apidog es la alternativa natural para comparar.

Top comments (0)