当前位置: 首页 > 测试知识 > 软件测试CMA公司_AI软件测试工具Keploy使用指南
软件测试CMA公司_AI软件测试工具Keploy使用指南
2025-10-16 作者cwb 浏览次数13

Keploy 是一款创新的开源 AI 测试工具,它彻底改变了传统测试用例的编写方式。从用户流量自动生成测试Keploy能录制真实的生产或测试环境 API 调用,并自动将其转换为:可执行的测试用例、相应的模拟数据。这解决了编写和维护测试用例的成本问题,尤其适合复杂业务逻辑和微服务架构。


Keploy的一些概念


记录模式

Kepoy 作为一个中间件或侧车应用运行,拦截您的应用程序所有进出的 API 请求和响应。它会自动将这些交互捕获为 “测试用例”。

测试模式

在此模式下,Keploy 会回放之前录制的测试用例,验证您的应用程序是否仍然产生与录制时相同的响应。它还会为应用程序的外部依赖(如数据库、第三方 API)生成 “模拟数据”,保证了软件测试的速度。

测试用例

不再是手写的代码,而是自动生成的 YAML 文件,其中包含了完整的请求和预期响应。

模拟数据

同样是自动生成的 YAML 文件,模拟了应用程序在录制期间调用的所有外部服务。


安装与运行

Keploy 提倡无缝集成,推荐使用Docker方式运行。

使用 Docker Compose 运行(推荐)尤其适合微服务。

创建一个 docker-compose.yml 文件:


version: '3.8'

services:

  # 你的应用程序服务

  your-app:

    image: your-application-image:latest

    ports:

      - "8080:8080" # 你的应用端口

    # 其他你的应用需要的配置...


  # Keploy 服务

  keploy:

    image: keploy/keploy:latest

    container_name: keploy

    ports:

      - "6789:6789" # Keploy 前端端口,用于访问控制台

    volumes:

      - ./keploy:/keploy  # 将测试用例持久化到本地

      - /var/run/docker.sock:/var/run/docker.sock

    environment:

      - KEPLOY_DB_PATH=/keploy

    network_mode: "host" # 关键:让 Keploy 能捕获主机网络流量

启动服务


docker-compose up -d

下图展示了 Keploy 从记录测试到运行测试的完整工作流:


记录模式-捕获测试用例,确保你的应用程序和 Keploy 正在运行(通过上述 Docker Compose)。

生成流量:像正常用户一样使用你的 API。你可以:

手动调用 API(使用 Postman, curl 等)。

运行前端应用并与之后端交互。

运行现有的集成测试套件。


示例:假设你的应用有一个 GET /users 接口。当你通过 curl http://localhost:8080/users 调用它时,Keploy 会自动在 ./keploy 目录下生成一个 YAML 文件(如 test-1.yaml),内容大致如下:


version: api.keploy.io/v1beta1

kind: Http

name: test-1

spec:

  metadata: {}

  req:

    method: GET

    url: /users

    header:

      Accept: "*/*"

      User-Agent: "curl/7.68.0"

    body: ""

    timestamp: 2025-01-15T10:00:00Z

  resp:

    status_code: 200

    header:

      Content-Type: application/json

    body: |-

      [

        {"id": 1, "name": "John"},

        {"id": 2, "name": "Jane"}

      ]

    timestamp: 2025-01-15T10:00:01Z


测试模式 - 运行测试,停止所有不必要的流量,确保测试环境干净。

切换到测试模式。通常这需要通过环境变量或 API 通知 Keploy。查看 Keploy 控制台(http://localhost:6789)或文档以了解具体操作。有时,只需重启 Keploy 服务并指定模式即可。

触发测试执行。当你再次向你的应用发送请求或在 Keploy 控制台中点击运行时,Keploy 会:

读取所有生成的测试用例 YAML 文件。

将请求回放到你的应用程序。

使用生成的模拟数据来隔离你的应用(例如,即使数据库是空的,它也会返回录制好的用户列表)。

将应用程序的实际响应与 YAML 文件中记录的预期响应进行比较。

查看结果:测试报告会在 Keploy 控制台或 CLI 中显示,明确指示每个测试用例是通过还是失败。

集成到开发流程,在 CI/CD 流水线中运行 Keploy,你可以在 CI 环境中以测试模式运行 Keploy,将其作为自动化测试套件的一部分。任何代码更改如果破坏了现有行为,都会导致 Keploy 测试失败,从而防止回归。

管理测试用例

将生成的 keploy/ 目录纳入版本控制。这样,测试用例就成为了你的“活文档”,并与代码同步演化。

在 Pull Request 中,你可以看到 Keploy 测试用例的变化,这本身就是对 API 变更的绝佳审查。

处理敏感数据

Keploy 录制的数据可能包含敏感信息。使用其内置的或自定义的脚本对 YAML 文件中的敏感字段(如身份证号、令牌)进行脱敏处理。

Keploy 的使用可以概括为:部署并录制 -> 生成测试与模拟数据 -> 集成到CI/CD -> 持续回归防护。

文章标签: 软件测试中心 第三方软件测试中心 软件测试需求 第三方软件测试公司 第三方软件测试机构 CMA软件测试 第三方软件测试 软件测试
咨询软件测试