
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!
Wenig Zeit? Schauen Sie sich den 1-Minuten-Schnellstart-Guide an!
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.
Dies ist eine Liste von Artikeln mit Schritt-für-Schritt-Anleitungen zur Verwendung von CATS:
> brew tap endava/tap
> brew install cats
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.
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
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.
Bitte beachten Sie CONTRIBUTING.md.