
Ferramenta automatizada de fuzzing de API REST e testes negativos para endpoints OpenAPI. Gera, executa e relata milhares de testes auto-recuperáveis sem esforço de codificação, cobrindo cenários de limite e segurança.
A documentação do CATS está disponível em https://endava.github.io/cats/
Ferramenta de fuzzing e testes negativos para API REST. Execute milhares de testes de API auto-regenerativos em minutos, sem necessidade de codificação!
Pouco tempo? Confira o Guia de Início Rápido de 1 minuto!
Usando uma sintaxe simples e mínima, com uma curva de aprendizado suave, o CATS (Contract API Testing and Security) permite gerar milhares de testes de API em minutos, sem esforço de codificação. Todos os testes são gerados, executados e relatados automaticamente com base em um conjunto predefinido de 100+ Fuzzers. Os Fuzzers cobrem uma ampla gama de cenários de teste de limites e negativos, desde valores Unicode grandes e totalmente aleatórios até valores bem elaborados e dependentes de contexto, baseados nos tipos de dados e restrições da requisição. Além disso, você pode aproveitar o fato de que o CATS gera dinamicamente os payloads das requisições e escrever testes funcionais simples de ponta a ponta.
Esta é uma lista de artigos com guias passo a passo sobre como usar o CATS:
> brew tap endava/tap
> brew install cats
O CATS é distribuído tanto como um JAR executável quanto como um binário nativo. Os binários nativos não necessitam do Java instalado.
Após baixar o binário nativo do seu sistema operacional, você pode adicioná-lo ao PATH para executá-lo como qualquer outra ferramenta de linha de comando:
sudo cp cats /usr/local/bin/cats
Você também pode obter o autocomplete baixando o script cats_autocomplete e executando:
source cats_autocomplete
Para ter autocomplete persistente, adicione a linha acima no .zshrc ou .bashrc, mas certifique-se de colocar o caminho completo para o script cats_autocomplete.
Você também pode verificar o código-fonte do cats_autocomplete para configurações alternativas.
Não há binário nativo para Windows, mas você pode usar a versão uberjar. Isso requer que o Java 25+ esteja instalado.
Você pode executá-lo como java -jar cats.jar.
Acesse a página de releases para baixar a versão mais recente: https://github.com/Endava/cats/releases.
Você pode compilar o CATS a partir do código-fonte em sua máquina local. Precisa do Java 25. O Maven já está incluído.
Antes de executar a primeira compilação, certifique-se de executar
./mvnw clean. O CATS usa um fork do OKHttp que será instalado localmente sob a versão5.X.X-CATS, então não se preocupe em sobrescrever as versões oficiais.
Você pode usar o seguinte comando Maven para compilar o projeto como um uberjar:
./mvnw package -Dquarkus.package.type=uber-jar
Você obterá um cats-runner.jar na pasta target. Pode executá-lo com java -jar cats-runner.jar ....
Você também pode compilar imagens nativas usando uma versão Java do GraalVM.
./mvnw package -Pnative
Você pode ver algumas mensagens de log de error durante a execução dos Testes Unitários. Esse comportamento é esperado para testar os cenários negativos dos Fuzzers.
Consulte CONTRIBUTING.md.