Qu'est-ce que Keploy ? Tests d'API par enregistrement et relecture

Qu'est-ce que Keploy ? Découvrez comment son moteur eBPF d'enregistrement-relecture génère automatiquement des tests et des mocks d'API, les commandes keploy record et test, et ses limites franches.

Ashley Goolam

Ashley Goolam

17 June 2026

Qu'est-ce que Keploy ? Tests d'API par enregistrement et relecture

enterprise.banner.title

enterprise.banner.feature1

enterprise.banner.feature2

enterprise.banner.feature3

enterprise.banner.ctaB

Si vous avez cherché un moyen d'obtenir des tests d'API sans les écrire à la main, vous avez probablement rencontré Keploy. Il promet quelque chose qui semble presque trop pratique : le pointer vers votre application en cours d'exécution, le laisser observer le trafic réel, et repartir avec une suite de tests. Alors, que fait réellement Keploy en coulisses, et où se situe-t-il dans votre pile de tests ?

Ce guide explique ce qu'est Keploy, comment son moteur d'enregistrement et de relecture fonctionne au niveau de la couche réseau eBPF, les deux workflows qu'il offre, comment l'installer et l'exécuter, et les limites honnêtes que vous devriez connaître avant de l'adopter.

bouton

Qu'est-ce que Keploy ?

Keploy est une plateforme open source (sous licence Apache-2.0) pour créer des environnements sandbox de production sûrs et isolés pour les tests d'API, d'intégration et de bout en bout. L'idée principale est que votre application réelle exerce déjà le comportement que vous souhaitez tester. Au lieu de vous demander de décrire ce comportement dans le code de test, Keploy l'observe et le transforme en tests reproductibles.

Il vous offre deux façons de le faire :

  1. Enregistrement et relecture capture les interactions API réelles et leurs dépendances, puis les rejoue de manière déterministe.
  2. Génération de tests par IA construit des suites de tests API validées à partir d'une spécification, d'une collection, d'une commande cURL ou d'un point de terminaison en direct.

Les deux produisent des tests exécutables ainsi que les mocks nécessaires pour les exécuter sans toucher aux dépendances réelles. Le projet est open source, vous pouvez donc lire le code et l'auto-héberger. Le dépôt se trouve sur github.com/keploy/keploy, et la documentation officielle est sur keploy.io/docs.

Comment Keploy record fonctionne au niveau de la couche eBPF

C'est ce qui rend Keploy distinct. Lorsque vous exécutez keploy record, il ne vous demande pas d'ajouter un SDK ni de modifier une seule ligne de code de votre application. Il capture le trafic au niveau de la couche réseau en utilisant eBPF, une technologie du noyau Linux qui permet aux programmes d'observer et d'agir en toute sécurité sur les événements système.

Voici ce que cela vous apporte en pratique :

Ce dernier point est important. Lorsque Keploy enregistre une requête, il capture l'image complète : la requête API, la réponse API et chaque appel de dépendance qui s'est produit entre les deux. Il écrit ensuite deux artefacts à partir de cette interaction unique observée :

La relecture boucle la boucle. Lorsque vous exécutez keploy test, il renvoie les requêtes enregistrées à votre application, sert les réponses de dépendance capturées à partir des mocks générés et compare les nouvelles réponses aux réponses enregistrées. Une non-concordance signifie que quelque chose a changé. C'est pourquoi l'approche est appelée enregistrement et relecture : vous enregistrez un comportement d'exécution réel une fois, puis vous le rejouez de manière déterministe en tant que test de régression à chaque changement.

Les deux workflows Keploy

Enregistrement et relecture

Utilisez ceci lorsque vous avez déjà une application fonctionnelle et que vous souhaitez rapidement une couverture de régression. Vous exécutez l'application sous Keploy, l'utilisez comme le ferait un utilisateur ou un client réel (appels manuels, un test d'intégration existant ou du trafic réel), et Keploy enregistre chaque interaction comme un test plus ses mocks. Les exécutions ultérieures rejouent ces interactions et signalent toute dérive comportementale.

Génération de tests par IA

Utilisez ceci lorsque vous souhaitez une couverture plus large que celle produite par votre exercice manuel, ou lorsque vous partez d'un contrat plutôt que d'un flux en cours d'exécution. Keploy peut générer des suites de tests API validées à partir d'une spécification OpenAPI, d'une collection Postman, d'une commande cURL ou d'un point de terminaison en direct. Il simule automatiquement les dépendances et exécute un passage de nettoyage automatique afin de ne pas vous laisser avec des cas redondants.

Les deux workflows sont complémentaires. L'enregistrement et la relecture ancrent les tests dans un comportement réel observé ; la génération de tests par IA comble les lacunes de votre spécification. Si vous évaluez des outils qui génèrent des tests à partir d'un schéma, notre tour d'horizon des générateurs de cas de test IA et le guide pour générer des scripts de test à partir d'OpenAPI sont de bons compléments.

Installation de Keploy

Keploy propose un script d'installation. Sur un système pris en charge, vous exécutez :

curl --silent -O -L https://keploy.io/install.sh && source install.sh

Cela télécharge le binaire et configure la commande keploy. À partir de là, vous pilotez tout via deux commandes.

Les commandes Keploy principales

Il y a deux commandes que vous utiliserez le plus. La première enregistre :

keploy record -c "CMD_TO_RUN_APP"

Vous passez la commande exacte qui démarre votre application via -c. Keploy lance votre application, surveille le trafic pendant que vous l'utilisez, et enregistre les cas de test capturés et les mocks.

La seconde rejoue :

keploy test -c "CMD_TO_RUN_APP" --delay 10

L'option --delay 10 indique à Keploy d'attendre dix secondes avant de commencer à envoyer les requêtes enregistrées, ce qui donne à un service plus lent suffisamment de temps pour finir de démarrer avant que la relecture ne commence. Si votre application a besoin de plus de temps pour démarrer, augmentez le nombre ; si elle démarre rapidement, vous pouvez le réduire.

Une première session typique ressemble à ceci :

# 1. Enregistrer pendant que vous accédez à votre API
keploy record -c "node server.js"

# 2. Rejouer les cas capturés et vérifier les dérives
keploy test -c "node server.js" --delay 10

C'est la boucle complète. Enregistrez une fois contre une version stable connue, puis exécutez keploy test en CI à chaque changement.

Langages, protocoles et magasins de données pris en charge

Parce que la capture se fait au niveau de la couche réseau, Keploy couvre une large surface :

Catégorie Pris en charge
Langages Go, Java, Node.js, Python, Rust, C#, C/C++, TypeScript, et plus
Protocoles HTTP/REST, gRPC, GraphQL, Kafka, RabbitMQ
Magasins de données PostgreSQL, MySQL, MongoDB, Redis

L'étendue est une conséquence directe de la conception eBPF. Keploy lit les conversations réseau, donc un nouveau langage ou framework n'a pas besoin d'un nouveau plugin tant qu'il parle l'un de ces protocoles.

Exécuter Keploy en CI

Les deux commandes sont conçues pour l'automatisation. Dans un pipeline, vous commitez les cas de test et les mocks enregistrés avec votre code, puis vous exécutez keploy test -c "..." comme une étape. Parce que les mocks remplacent les dépendances réelles, la relecture n'a pas besoin d'une base de données ou d'un service en aval en direct dans le runner CI, ce qui rend le travail rapide et déterministe. Une relecture échouée fait échouer la build, de la même manière qu'un test unitaire.

Limitations honnêtes à considérer

Keploy est puissant dans ce qu'il fait, mais il ne convient pas à toutes les situations. Une évaluation juste inclut les compromis :

Aucun de ces points n'est une critique contre Keploy. Ce sont les limites naturelles de sa catégorie. Les connaître vous aide à décider s'il résout votre problème ou seulement une partie de celui-ci.

Où Apidog s'insère comme alternative de test conçue

Si votre besoin est plus large que « transformer le trafic observé en tests de régression », il vaut la peine d'examiner une plateforme complète de cycle de vie. Apidog est une plateforme API tout-en-un qui couvre la conception, le débogage, le mocking, la documentation et les tests en un seul endroit. La différence de philosophie est la clé à comprendre, car Apidog et Keploy se situent dans des catégories différentes.

Keploy capture et rejoue le comportement d'exécution réel, y compris les mocks de dépendance, sans code. Apidog prend le chemin inverse : vous concevez et rédigez des scénarios de test maintenables, puis vous les exécutez depuis le terminal et la CI avec la CLI Apidog. La CLI exécute vos collections rédigées avec des tests basés sur les données via CSV ou JSON, la commutation d'environnement et des rapports CLI, HTML et JSON. Apidog propose également la génération de cas de test par IA à partir de votre schéma d'API et de vos points de terminaison, rédigés à l'intérieur de l'application, ce qui est là où les deux outils se recoupent.

Pour être clair sur la limite : Apidog ne capture pas le trafic en direct via eBPF, et il ne génère pas automatiquement des tests en enregistrant les appels de production et les mocks de dépendance. Cette capacité d'enregistrement à partir de trafic réel est authentiquement celle de Keploy. Le cadre honnête est que vous choisissez en fonction de la tâche. Optez pour Keploy lorsque vous souhaitez la capture et la relecture d'exécution avec zéro code. Optez pour Apidog lorsque vous souhaitez des suites de tests conçues et maintenables au sein d'une plateforme qui gère également le reste du cycle de vie de l'API. Pour une comparaison plus approfondie, consultez Apidog vs Keploy, et si vous avez décidé de changer, le guide de migration couvre le déplacement de vos tests.

Si des tests d'API maintenables et rédigés sont ce que vous recherchez, vous pouvez télécharger Apidog et commencer avec le guide pour tester une API avec Apidog.

Questions fréquemment posées

Keploy est-il gratuit et open source ? Oui. Keploy est open source sous la licence Apache-2.0, et le code est sur GitHub. Vous pouvez l'auto-héberger.

Keploy nécessite-t-il de modifier le code de mon application ? Non. Le workflow d'enregistrement et de relecture capture le trafic au niveau de la couche réseau eBPF, il n'y a donc pas de SDK à ajouter et aucune modification de code. C'est aussi pourquoi il fonctionne avec de nombreux langages.

Que fait l'option --delay dans keploy test ? Elle définit le nombre de secondes que Keploy attend avant d'envoyer les requêtes enregistrées, donnant à votre application le temps de démarrer. --delay 10 attend dix secondes ; augmentez-le pour les services qui démarrent lentement.

Keploy peut-il simuler ma base de données pendant les tests ? Oui. Lorsqu'il enregistre une interaction, il capture également les appels de dépendance (tels que les requêtes de base de données) et écrit des mocks pour eux, de sorte que les relectures s'exécutent sans base de données en direct.

Keploy est-il un remplacement pour un outil de conception et de documentation d'API ? Non. Keploy est un outil de test et de génération de tests. Pour la conception d'API, la documentation, le mocking pour les consommateurs et la collaboration parallèlement aux tests, une plateforme complète de cycle de vie comme Apidog est plus appropriée.

La version courte

Keploy est un outil open source qui transforme le comportement réel des API en tests. Son moteur d'enregistrement et de relecture utilise eBPF pour capturer les requêtes, les réponses et les appels de dépendance au niveau de la couche réseau sans aucune modification de code, puis les rejoue comme des tests de régression déterministes. Sa génération de tests par IA construit des suites à partir d'une spécification ou d'un point de terminaison. Il est rapide à adopter et agnostique au langage, avec les compromis d'un modèle de capture orienté Linux, des tests nécessitant une révision et un périmètre limité aux tests. Si vous souhaitez des suites de tests conçues et maintenables au sein d'une plateforme API complète, Apidog est l'alternative à laquelle le comparer.

bouton

Pratiquez le Design-first d'API dans Apidog

Découvrez une manière plus simple de créer et utiliser des API