Keploy API 测试与 Mock 生成平台
从真实用户流量自动生成 API 测试和 mock,无需修改代码,测试速度比单元测试更快。
证据显示:README 描述使用 eBPF 捕获网络流量,需要 root 权限,但未提供最小权限配置或权限降级说明;安装脚本通过 curl 管道执行,无用户确认步骤;数据流透明度有限,仅提及记录 API 调用和数据库查询,未说明数据存储位置或传输方式;敏感数据处理未提及加密或脱敏;依赖众多,但未提供安全审计或漏洞扫描证据;外部影响包括网络捕获和可能的系统修改,但未说明回滚机制;来源归属有 Apache-2.0 许可证和版权声明,但发布者未验证。扣分原因:缺乏用户确认、回滚机制、详细的数据流和敏感数据处理说明。
证据显示:README 和测试文件描述一致,e2e 测试脚本详细且包含错误处理,但依赖众多且未提供依赖可用性保证;失败消息在测试脚本中明确,但产品本身的错误处理未详细说明。扣分原因:依赖可用性未验证,产品失败消息未充分展示。
证据显示:README 明确目标用户为开发者和 QA,场景包括 API、集成和 E2E 测试;能力边界通过支持的语言和协议列表说明;触发方式为命令行记录和回放,精确性较高;环境适配包括本地、CI 和 Kubernetes,但未提供详细配置。扣分原因:环境适配细节不足。
证据显示:README 结构清晰,包含安装、快速开始、文档链接;安装说明提供 curl 命令;命名稳定,但版本信息未在 README 中明确;示例和 FAQ 链接存在;已知限制提及部分依赖非开源;许可证为 Apache-2.0;版本和变更日志未在文件中体现;维护责任通过贡献指南和社区链接体现。扣分原因:版本和变更日志缺失,已知限制不全面。
证据显示:输出为测试用例和 mock,可直接使用;边际价值高,自动生成测试节省时间;成本效益未量化,但开源免费。扣分原因:成本效益未提供具体数据。
证据显示:README 中的声明有文档链接支持,但未提供独立验证;测试文件存在,但未提供测试结果;事实和推断未明确区分。扣分原因:声明可追溯性不足,缺乏交叉验证。
- 安装脚本通过 curl 管道执行,存在供应链风险,建议审查脚本内容。
- eBPF 捕获网络流量需要高权限,可能影响系统安全,需谨慎评估。
- 依赖众多且未提供安全审计,建议进行漏洞扫描。
这个 Agent 能做什么,适合哪些场景?
Keploy 是一款开源的 API 与集成测试平台,通过 eBPF 在网络层捕获流量,自动将 API 调用、数据库查询和流事件记录为测试用例和 mock。它无需 SDK 或代码修改,支持任何语言和框架。Keploy 能够虚拟化数据库、消息队列和外部 API,确定性重放测试,并提供统一覆盖率报告(语句、分支、API 模式)。还提供 AI 辅助测试生成,扩展覆盖率,支持 CI/CD 集成和集中式 Mock 注册表。
Keploy 使用 keploy record 命令启动应用,通过 eBPF 拦截网络流量,自动记录 API 请求、响应、数据库查询和流事件,生成测试用例和 mock。keploy test 命令离线重放这些记录,确定性运行测试,支持时间冻结。它计算语句、分支和 API 模式覆盖率,并利用 AI 分析 Swagger/OpenAPI 模式和现有录制,生成边界值、缺失字段等测试用例,扩大覆盖率。生成的 mock 可独立用于测试,并提供统一报告和集中式 Mock 注册表。
- 开发者在开发过程中使用
keploy record自动捕获真实 API 流量,转化为回归测试,无需编写测试代码。 - QA 工程师使用 Keploy 生成 API 模式覆盖报告,验证业务用例覆盖,替代主观评估。
- 团队在 CI/CD 流水线(如 GitHub Actions、Jenkins)中集成 Keploy,运行测试和生成覆盖率报告,无需依赖外部服务。
- 后端团队需要测试涉及 Kafka、RabbitMQ、Postgres 等基础设施的复杂分布式流程,Keploy 可虚拟化这些依赖,实现确定性重放。
- 组织希望将 AI 生成的测试用例与现有测试结合,扩展边界值、异常类型等场景,提高测试深度。
这个 Agent 有哪些优点和局限?
- 无需代码修改:利用 eBPF 在网络层捕获流量,兼容任何语言、框架,无需 SDK。
- 基础设施虚拟化:支持数据库、消息队列、外部 API 的 mock,超越纯 HTTP mock,实现确定性重放。
- 覆盖率全面:同时计算语句、分支和 API 模式覆盖率,满足开发者与 QA 双重需求。
- AI 增强测试生成:基于现有记录和 OpenAPI 模式,自动补充边界值、缺失字段等测试用例。
- eBPF 需要 Linux 内核支持,在 Windows/macOS 上可能有限制或需要额外配置。
- 对于非开源协议的数据库或服务,可能不支持虚拟化(需企业版)。
- 安装依赖 curl 和 bash,可能在受限网络或容器环境遇到问题。
- 测试记录和重放可能需要较高的权限(如 root)来运行 eBPF。
如何安装或部署这个 Agent?
在本地或 CI 环境中,使用以下命令安装 Keploy Agent:
curl --silent -O -L https://keploy.io/install.sh && source install.sh如何使用这个 Agent?
- 安装后,使用
keploy record -c "CMD_TO_RUN_APP"启动应用,例如keploy record -c "python main.py"。2. 应用运行期间发起请求,Keploy 自动记录测试用例和 mock。3. 使用keploy test -c "CMD_TO_RUN_APP" --delay 10运行测试,可在无外部依赖情况下重放。更多操作可查阅官方文档。