Zurück zu den Updates
New releaseSep 7, 2026

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.

Teilen

CATS logo

CI Commits

License Java Version GraalVM Quality Gate Status Coverage Bugs Code Smells

Die CATS-Dokumentation ist verfügbar unter https://endava.github.io/cats/

REST-API-Fuzzer und Negative-Testing-Tool. Führen Sie Tausende selbstheilende API-Tests innerhalb von Minuten ohne Programmieraufwand aus!

  • Umfassend: Tests werden automatisch basierend auf einer großen Anzahl 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
  • Hochgradig konfigurierbar: hohes Maß an Anpassung: Sie können bestimmte Fuzzer, HTTP-Antwortcodes, HTTP-Methoden, Anforderungspfade filtern, Geschäftskontext bereitstellen und vieles mehr
  • Selbstheilend: Da Tests generiert werden, wird jede Änderung der OpenAPI-Spezifikation automatisch übernommen
  • Einfach zu erlernen: flache Lernkurve, mit intuitiver Konfiguration und Syntax
  • Schnell: automatischer Prozess zum Schreiben, Ausführen und Berichten von Tests, der Tausende von Szenarien innerhalb von Minuten abdeckt

Keine Zeit? Schauen Sie sich den 1-Minuten-Schnellstartleitfaden an!

Überblick

Durch die Verwendung einer einfachen und minimalen Syntax mit einer flachen Lernkurve ermöglicht CATS (Contract API Testing and Security) die Generierung Tausender API-Tests innerhalb von Minuten mit keinem Programmieraufwand. Alle Tests werden automatisch generiert, ausgeführt und berichtet basierend auf einem vordefinierten Satz von über 100 Fuzzern. Die Fuzzer decken ein breites Spektrum von Boundary-Testing- und Negativszenarien ab, von vollständig zufälligen großen Unicode-Werten bis hin zu gut ausgearbeiteten, kontextabhängigen Werten basierend auf den Anforderungsdatentypen und -einschränkungen. Darüber hinaus können Sie die Tatsache nutzen, dass CATS Anforderungsnutzlasten dynamisch generiert und einfache End-to-End-Funktionstests schreibt.

HTML-Bericht

CATS

Kommandozeile

CATS

Terminal-Oberfläche

Verwenden Sie --tui bei einem normalen Fuzzing-Befehl, um die Ausführung zu verfolgen und Ergebnisse zu überprüfen, ohne das Terminal zu verlassen:

cats --contract openapi.yml --server http://localhost:8080 --tui

Die Übersicht zeigt Pfade, Ausführungskonfiguration, Antwortzeit, HTTP-Antwortcodes, Erfolg/Warnungen/Fehler und ausgeführte Fuzzer unter Verwendung derselben Terminologie wie die CLI und der HTML-Bericht. Die Fuzzer-Tabelle verwendet alle verfügbaren Terminalzeilen; verwenden Sie j/k oder Page Up/Page Down, um sie zu durchsuchen, wenn die vollständige Liste nicht passt. Drücken Sie 2 für Ausführungsdetails, 3 für die Ausführungszusammenfassung und das Quality-Gate-Ergebnis, 4 für Ausführungsdetails nach Ergebnisgrund, 5 für enthaltene Pfade oder 6 für ausgeführte Tests sortiert nach Antwortzeit. Ergebnisgrund- und Pfadzeilen öffnen ihre passenden Tests mit Enter.

Verwenden Sie die Pfeiltasten oder j/k, um einen Test auszuwählen, und drücken Sie Enter, um dessen Anforderung, Antwort, Ergebnis, Trace und Replay-Befehl in einer Vollbild-Detailansicht zu überprüfen. Drücken Sie / in der Testliste, um Test-IDs, Fuzzer, Pfade, Szenarien, Ergebnisgründe, Methoden, Ergebnisse und Antwortcodes zu durchsuchen. a, e, w, s und i filtern alle, Fehler-, Warn-, erfolgreiche und übersprungene Ergebnisse. Esc löscht zuerst eine aktive Suche und kehrt andernfalls zum vorherigen Bildschirm zurück; 1 öffnet die Übersicht.

Drücken Sie q, um die Oberfläche zu verlassen. Während einer aktiven Ausführung wird dadurch eine Abbruch angefordert, der aktuelle Test nach Möglichkeit abgeschlossen, bereits geschriebene Ergebnisse beibehalten und mit Status 130 beendet. Nach Abschluss der Ausführung beendet q normal.

Die TUI erfordert ein interaktives Terminal von mindestens 80 Spalten mal 24 Zeilen und kann nicht mit --dryRun kombiniert werden. Sie ist für OpenAPI-gestützte Fuzzing-Befehle verfügbar; der eigenständige template-Befehl verwendet weiterhin die normale CLI-Ausgabe. Die TUI behält standardmäßig die letzten 10.000 Testdetails bei; verwenden Sie --tuiMaxResults, um ein anderes positives Limit zu wählen. Aggregierte Statistiken decken weiterhin die vollständige Ausführung ab, wenn ältere Details verworfen werden.

Tutorials zur Verwendung von CATS

Dies ist eine Liste von Artikeln mit Schritt-für-Schritt-Anleitungen zur Verwendung von CATS:

Einige von CATS gefundene Fehler

Installation

Homebrew

> brew tap endava/tap
> brew install cats

Manuell

CATS wird sowohl als ausführbares JAR als auch als native Binärdatei bereitgestellt. Die nativen Binärdateien benötigen kein installiertes Java.

Nach dem Herunterladen Ihrer nativen Binärdatei für Ihr Betriebssystem können Sie sie zum PATH hinzufügen, damit Sie sie wie jedes andere Kommandozeilen-Tool ausführen können:

sudo cp cats /usr/local/bin/cats

Sie können auch Autovervollständigung erhalten, indem Sie das Skript cats_autocomplete herunterladen und Folgendes tun:

source cats_autocomplete

Um persistente Autovervollständigung zu erhalten, fügen Sie die obige Zeile in .zshrc oder .bashrc ein, aber stellen Sie sicher, dass Sie den vollqualifizierten Pfad für das Skript cats_autocomplete angeben.

Kategorien