Our take
- Activity
- 90
- Community
- 90
- Issues
- 71
- Pull requests
- 82
+178 stars in the last 17 days
- Releases more often than 93% of the projects we track
- Merges more pull requests than 92% of the projects we track
- More contributors than 77% of the projects we track
Overview
Keploy is a Go-based testing tool that captures API calls, database queries, and streaming events while an application runs, then replays them as tests with recorded data. It aims to reduce the manual work of writing test cases and setting up external dependencies, using network-level capture rather than application SDKs.
It is most useful when a team has representative application traffic to record and wants repeatable integration tests across services or infrastructure. AI-assisted test generation and coverage reporting are also described in the project README.
Key Features
- Records application traffic and turns captured flows into replayable tests and mocks.
- Captures traffic at the network layer using eBPF, without requiring application code changes or SDKs, according to the README.
- Records and replays interactions with databases, external APIs, and streaming or queue systems.
- Runs tests with recorded mocks so tests can avoid depending on live external services.
- Uses recordings and OpenAPI or Swagger schemas to generate additional test cases, as described by the project.
- Provides coverage and test reports for API, integration, unit, and end-to-end testing.
Use Cases
- Developers can record representative API flows and replay them locally to check changes without repeatedly setting up dependent services.
- QA teams can turn real application usage into integration test cases when manually maintaining scenarios is burdensome.
- Teams working with databases, queues, or external APIs can use captured interactions to test without provisioning every dependency for each run.
- Engineering teams can run recorded tests in CI pipelines to check application behavior against repeatable flows.
Getting Started
Install the agent and record your app:
curl --silent -O -L https://keploy.io/install.sh && source install.sh
keploy record -c "CMD_TO_RUN_APP"
See the README and documentation for installation details and instructions for running tests.
Alternatives
- httmock: httmock stubs HTTP calls made with Python requests, while Keploy records and replays application traffic to generate broader API and integration tests.
- bruno: Bruno lets users author and run API request collections, while Keploy captures real application traffic and replays it with dependency mocks.
| Project | Language | License | Stars | Status |
|---|---|---|---|---|
| keploy | Go | Apache-2.0 | 18.5k | Not checked yet |
| httmock | Python | – | 471 | Inactive |
| bruno | JavaScript | MIT | 47.3k | Active |
Considerations
- The README describes eBPF-based network capture. Confirm that the required capture setup works in your runtime and deployment environment before adopting it.
- Replay depends on having suitable recorded traffic; recordings may not cover every behavior or edge case your tests need.
- The repository reports 761 open issues. Review current issue activity and project guidance when assessing fit.
- The repository is licensed under Apache-2.0. The README notes that some protocol dependencies are not open source by nature and calls out enterprise support separately.
Found this useful?
Share it with someone who would like keploy.