
cats cats-14.0.0
Automatisierter REST-API-Fuzzer und Negativtest-Tool für OpenAPI-Endpunkte. Generiert, führt aus und berichtet tausende selbstheilende Tests ohne Programmieraufwand, die Grenz- und Sicherheitsszenarien abdecken.
CATS-Dokumentation ist verfügbar unter https://endava.github.io/cats/
REST-API-Fuzzer und Negativtest-Tool. Führen Sie Tausende von selbstheilenden API-Tests in Minuten ohne Programmieraufwand durch!
- Umfassend: Tests werden automatisch basierend auf einer Vielzahl von Szenarien generiert und decken jedes Feld und jeden Header ab
- Intelligent: Tests werden basierend auf Datentypen und Einschränkungen generiert; jeder Fuzzer hat spezifische Erwartungen je nach getestetem Szenario
- Hoch konfigurierbar: Hohes Maß an Anpassungsmöglichkeiten: Sie können bestimmte Fuzzer, HTTP-Antwortcodes, HTTP-Methoden, Anforderungspfade filtern, Geschäftskontext bereitstellen und vieles mehr
- Selbstheilend: Wenn Tests generiert werden, werden Änderungen an der OpenAPI-Spezifikation automatisch erkannt
- Einfach zu erlernen: Flache Lernkurve, intuitive Konfiguration und Syntax
- Schnell: Automatisierter Prozess zum Schreiben, Ausführen und Melden von Tests, der Tausende von Szenarien in Minuten abdeckt
Wenig Zeit? Schauen Sie sich den 1-Minuten-Schnellstart-Guide an!
Übersicht
Mit einer einfachen und minimalen Syntax und einer flachen Lernkurve ermöglicht CATS (Contract API Testing and Security) die Generierung Tausender API-Tests in Minuten ohne Programmieraufwand. Alle Tests werden basierend auf einem vordefinierten Satz von 100+ Fuzzern automatisch generiert, ausgeführt und berichtet. Die Fuzzer decken ein breites Spektrum an Grenzwerttests und negativen Szenarien ab, von vollständig zufälligen großen Unicode-Werten bis hin zu gut ausgearbeiteten, kontextabhängigen Werten basierend auf den Datentypen und Einschränkungen der Anfrage. Darüber hinaus können Sie die Tatsache nutzen, dass CATS Anfrage-Payloads dynamisch generiert, und einfache End-to-End-Funktionstests schreiben.
HTML-Bericht
Kommandozeile
Tutorials zur Verwendung von CATS
Dies ist eine Liste von Artikeln mit Schritt-für-Schritt-Anleitungen zur Verwendung von CATS:
- Testen der GitHub-API mit CATS
- Wie man selbstheilende Funktionstests ohne Programmieraufwand schreibt
Einige von CATS gefundene Fehler
- https://github.com/hashicorp/vault/issues/13274 | https://github.com/hashicorp/vault/issues/13273
- https://github.com/hashicorp/vault/issues/13225 | https://github.com/hashicorp/vault/issues/13232
- https://github.com/go-gitea/gitea/issues/19397 | https://github.com/go-gitea/gitea/issues/19398
- https://github.com/go-gitea/gitea/issues/19399
Installation
Homebrew
> brew tap endava/tap
> brew install cats
Manuelle Installation
CATS wird sowohl als ausführbares JAR als auch als natives Binärprogramm angeboten. Die nativen Binärprogramme benötigen kein installiertes Java.
Nach dem Herunterladen des nativen Binärprogramms für Ihr Betriebssystem können Sie es zu PATH hinzufügen, um es wie jedes andere Befehlszeilentool auszuführen:
sudo cp cats /usr/local/bin/cats
Sie können auch die Autovervollständigung aktivieren, indem Sie das Skript cats_autocomplete herunterladen und Folgendes ausführen:
source cats_autocomplete
Um eine dauerhafte Autovervollständigung zu erhalten, fügen Sie die obige Zeile in .zshrc oder .bashrc ein, stellen Sie jedoch sicher, dass Sie den vollständigen Pfad für das Skript cats_autocomplete angeben.
Sie können auch die Quelle von cats_autocomplete für alternative Einrichtungen überprüfen.
Es gibt kein natives Binärprogramm für Windows, aber Sie können die uberjar-Version verwenden. Diese erfordert, dass Java 25+ installiert ist.
Sie können es mit java -jar cats.jar ausführen.
Besuchen Sie die Releases-Seite, um die neueste Version herunterzuladen: https://github.com/Endava/cats/releases.
Aus Quellen erstellen
Sie können CATS aus den Quellen auf Ihrem lokalen Rechner erstellen. Sie benötigen Java 25. Maven ist bereits enthalten.
Bevor Sie den ersten Build ausführen, stellen Sie bitte sicher, dass Sie
./mvnw cleanausführen. CATS verwendet einen Fork von OKHttp, der lokal unter der Version5.X.X-CATSinstalliert wird, also machen Sie sich keine Sorgen, die offiziellen Versionen zu überschreiben.
Sie können den folgenden Maven-Befehl verwenden, um das Projekt als uberjar zu erstellen:
./mvnw package -Dquarkus.package.type=uber-jar
Sie erhalten eine cats-runner.jar im target-Ordner. Sie können es mit java -jar cats-runner.jar ... ausführen.
Sie können auch native Images mit einer GraalVM-Java-Version erstellen.
./mvnw package -Pnative
Hinweise zu Unit-Tests
Während der Ausführung der Unit-Tests können einige error-Logmeldungen auftreten. Dies ist erwartetes Verhalten beim Testen der negativen Szenarien der Fuzzer.
Mitwirken
Bitte beachten Sie CONTRIBUTING.md.