keploy/keploy
GitHub: keploy/keploy
基于 eBPF 的 API 自动化测试工具,通过录制真实流量自动生成测试用例和 Mock 数据,实现语言无关的无侵入式集成测试。
Stars: 16157 | Forks: 2141
⚡️ API 测试比单元测试更快,源于用户流量 ⚡️
🌟 AI 时代开发者必备工具,实现 90% 测试覆盖率 🌟
[Keploy](https://keploy.io) 是一款 **以开发者为中心的 API 和集成测试工具**,能够以快于单元测试的速度自动生成 **测试和数据 Mock**。 它记录 API 调用、数据库查询和流事件,然后将其重放为测试。在底层,Keploy **使用 eBPF 在网络层捕获流量**,但对您而言,它完全是 **无代码** 且 **语言无关** 的。
# 主要亮点
## 🎯 无需修改代码
只需使用 `keploy record` 运行您的应用。真实的 API 和集成流程会自动被捕获为测试和 Mock。*(Keploy 在底层使用 eBPF 捕获流量,因此您**不需要**添加任何 SDK 或修改代码。)*
## 📹 录制并重放复杂流程
Keploy 可以将复杂的、分布式的 API 流程录制并重放为 Mock 和存根。这就像为您的测试配备了一个轻量级的时间机器——为您节省大量时间!
👉 [阅读关于录制-重放的文档](https://keploy.io/docs/keploy-explained/introduction/)
## 🐇 完整的基础设施虚拟化(超越 HTTP Mock)
与仅 Mock HTTP 端点的工具不同,Keploy 记录 **数据库**(Postgres, MySQL, MongoDB)、**流/队列**(Kafka, RabbitMQ)、外部 API 等。
它会确定性地重放这些内容,因此您无需重新配置基础设施即可运行测试。
👉 [阅读关于基础设施虚拟化的文档](https://keploy.io/docs/keploy-explained/how-keploy-works/)
## 🧪 综合测试覆盖率
如果您是 **开发者**,您可能关心 *语句* 和 *分支* 覆盖率 —— Keploy 可以为您计算这些。
如果您是 **QA**,您更关注 *API Schema* 和 *业务用例覆盖* —— Keploy 也能计算这些。这样覆盖率就不再是主观的了。
👉 [阅读关于覆盖率的文档](https://keploy.io/docs/server/sdk-installation/go/)
## 🤖 利用 AI 扩展 API 覆盖率
Keploy 利用现有录制内容、Swagger/OpenAPI Schema 来发现:边界值、缺失/多余字段、错误类型、乱序序列、重试/超时。
这有助于扩展 API Schema、语句和分支覆盖率。
👉 [阅读关于覆盖率的文档](https://app.keploy.io/)
### 其他功能
- 🌐 **CI/CD 集成:** 在您喜欢的任何地方使用 Mock 运行测试——本地 CLI、CI 流水线(Jenkins, Github Actions..),甚至跨 Kubernetes 集群。[了解更多](https://keploy.io/docs/running-keploy/api-testing-cicd/)
- 🎭 **多用途 Mock**:您还可以将 Keploy 生成的 Mock 用作服务端测试!
- 📊 **报告:** 统一的 API、集成、单元和 E2E 覆盖率报告,并在您的 CI 或 PR 中直接提供洞察。
- 🖥️ **控制台:** 一个对开发者友好的控制台,用于查看、管理和调试录制的测试和 Mock。
- ⏱️ **时间冻结:** 通过在执行期间冻结系统时间,确定性地重放测试。[了解更多](https://keploy.io/docs/keploy-cloud/time-freezing/)
- 📚 **Mock 注册中心:** 集中注册中心,用于跨团队和环境管理、重用和版本化 Mock。[了解更多](https://keploy.io/docs/keploy-cloud/mock-registry/)
## 快速开始
### 1. 安装 Keploy Agent
```
curl --silent -O -L https://keploy.io/install.sh && source install.sh
```
### 2. 录制测试用例
在 Keploy 下启动您的应用,将真实的 API 调用转换为测试和 Mock。
```
keploy record -c "CMD_TO_RUN_APP"
```
Python 示例:
```
keploy record -c "python main.py"
```
### 3. 运行测试
在没有外部依赖的情况下离线运行测试。
```
keploy test -c "CMD_TO_RUN_APP" --delay 10
```
## 资源
### - 📘 [安装](https://keploy.io/docs/server/installation/)
### - 🏁 [快速入门](https://keploy.io/docs/quickstart/quickstart-filter/)
## 语言与框架(任意技术栈)
由于 Keploy 在 **网络层 (eBPF)** 进行拦截,因此它适用于 **任何语言、框架或运行时**——无需 SDK。
标签:AI辅助测试, Anchore, API测试, CNCF, DNS解析, Docker镜像, E2E Testing, EVTX分析, EVTX分析, EVTX分析, Keploy, LNA, Mock, pocsuite3, Python工具, Stub, web渗透, 回放测试, 威胁情报, 开发者工具, 开源项目, 接口集成, 搜索引擎查询, 日志审计, 流量录制, 测试生成, 测试用例, 测试覆盖率, 端到端测试, 软件测试