返回更新列表
新发布Sep 7, 2026

cats cats-14.0.0

自动化REST API模糊测试和负面测试工具,针对OpenAPI端点。无需编码即可生成、运行并报告数千个自我修复测试,涵盖边界和安全场景。

分享

CATS 标志

CI Commits

License Java Version GraalVM Quality Gate Status Coverage Bugs Code Smells

CATS 文档可在 https://endava.github.io/cats/ 获取

REST API 模糊测试与负面测试工具。无需编码,几分钟内运行数千个自愈式 API 测试!

  • 全面:测试自动生成,涵盖每个字段和头部
  • 智能:测试基于数据类型和约束生成;每个 Fuzzer 根据测试场景有特定期望
  • 高度可配置:高度自定义:可过滤特定 Fuzzer、HTTP 响应码、HTTP 方法、请求路径,提供业务上下文等
  • 自愈:测试生成后,任何 OpenAPI 规范变更自动识别
  • 易于学习:学习曲线平缓,配置和语法直观
  • 快速:自动完成测试编写、运行和报告,几分钟内覆盖数千个场景

时间紧迫?查看 1 分钟快速入门指南

概述

通过使用简单且极简的语法,学习曲线平缓,CATS(Contract API Testing and Security,契约 API 测试与安全)使您能够在几分钟内生成数千个 API 测试,无需编码。 所有测试基于预定义的 100+ 个 Fuzzer 自动生成、运行和报告。 Fuzzer 涵盖了广泛的边界测试和负面场景,从完全随机的大 Unicode 值到基于请求数据类型和约束精心构造的上下文相关值。 更进一步,您可以利用 CATS 动态生成请求负载的能力,编写简单的端到端功能测试。

HTML 报告

CATS

命令行

CATS

关于如何使用 CATS 的教程

以下是带有步骤指南的文章列表:

CATS 发现的一些 bug

安装

Homebrew

> brew tap endava/tap
> brew install cats

手动安装

CATS 既可作为可执行 JAR 捆绑,也可作为原生二进制文件。原生二进制文件无需安装 Java。

下载操作系统原生二进制文件后,可将其添加到 PATH,以便像其他命令行工具一样执行:

sudo cp cats /usr/local/bin/cats

您也可以下载 cats_autocomplete 脚本,并通过以下命令获得自动补全:

source cats_autocomplete

要获得持久自动补全,请将上述行添加到 .zshrc.bashrc 中,但请确保使用 cats_autocomplete 脚本的完整路径。

您也可以查看 cats_autocomplete 源代码以了解其他设置方式。

Windows 没有原生二进制文件,但您可以使用 uberjar 版本。这需要安装 Java 25+。

运行方式:java -jar cats.jar

请前往发布页面下载最新版本:https://github.com/Endava/cats/releases

从源码构建

您可以在本地从源码构建 CATS。需要 Java 25。Maven 已捆绑。

在首次构建之前,请确保运行 ./mvnw clean。CATS 使用了 OKHttp 的一个分支,该分支将本地安装为 5.X.X-CATS 版本,所以不用担心覆盖官方版本。

您可以使用以下 Maven 命令将项目构建为 uberjar:

./mvnw package -Dquarkus.package.type=uber-jar

最终会在 target 文件夹中得到一个 cats-runner.jar。使用 java -jar cats-runner.jar ... 运行。

您也可以使用 GraalVM Java 版本 构建原生镜像。

./mvnw package -Pnative

关于单元测试的说明

运行单元测试时,您可能会看到一些 error 日志消息。这些是测试 Fuzzer 负面场景的预期行为。

贡献

请参阅 CONTRIBUTING.md

分类