CATS 文档可在 https://endava.github.io/cats/ 获取
REST API 模糊测试与负面测试工具。无需编码,几分钟内运行数千个自愈式 API 测试!
时间紧迫?查看 1 分钟快速入门指南!
通过使用简单且极简的语法,学习曲线平缓,CATS(Contract API Testing and Security,契约 API 测试与安全)使您能够在几分钟内生成数千个 API 测试,无需编码。 所有测试基于预定义的 100+ 个 Fuzzer 自动生成、运行和报告。 Fuzzer 涵盖了广泛的边界测试和负面场景,从完全随机的大 Unicode 值到基于请求数据类型和约束精心构造的上下文相关值。 更进一步,您可以利用 CATS 动态生成请求负载的能力,编写简单的端到端功能测试。
以下是带有步骤指南的文章列表:
> 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。