DEV Community

Cover image for Kostenlose Open Source CLI Tools für API Testing
Emre Demir
Emre Demir

Posted on • Originally published at apidog.com

Kostenlose Open Source CLI Tools für API Testing

Die meisten API-Test-Tutorials setzen eine GUI voraus. Wenn Sie jedoch im Terminal arbeiten, Tests in CI ausführen oder ein Tool mit prüfbarem Quellcode benötigen, sind CLI-Tools oft die bessere Wahl: Sie können die Binärdatei selbst ausführen, Konfigurationen mit dem Code versionieren und ohne Konto in Ihrem eigenen Netzwerk testen.

Apidog noch heute ausprobieren

Entscheidend ist dabei nicht nur, welches Tool am schnellsten startet oder die kleinste Binärdatei liefert. Prüfen Sie stattdessen Lizenz und Kontrolle:

  • Läuft das Tool lokal oder auf einem eigenen CI-Runner ohne Konto?
  • Ist der Quellcode unter einer OSI-anerkannten Lizenz verfügbar?
  • Können Sie das Tool weiter betreiben, wenn ein Anbieter Preise oder Produktstrategie ändert?
  • Ist das Repository aktiv genug, um darauf eine Pipeline aufzubauen?

Hier sind acht kostenlose Open-Source-CLI-Tools für REST-, GraphQL- und HTTP-APIs – jeweils mit Lizenz, Installation und einem direkt ausführbaren Einstieg. Für eine breitere Übersicht inklusive gehosteter Angebote lesen Sie die besten kostenlosen API-Test-Tools. Wenn Sie Endpunkte primär manuell im Terminal aufrufen möchten, hilft der Leitfaden zu curl-Alternativen für REST-API-Tests.

Was macht ein CLI-Tool für API-Tests zu Open Source?

Kostenlos herunterladbar bedeutet nicht automatisch Open Source. Für diese Liste gelten drei Kriterien:

  1. Echte Open-Source-Lizenz

    Der Quellcode ist öffentlich unter einer OSI-anerkannten Lizenz verfügbar, etwa MIT, Apache-2.0, MPL-2.0, AGPL-3.0 oder BSD.

  2. Lokal und ohne Konto ausführbar

    Sie können das Tool auf Ihrem Rechner oder CI-Runner betreiben, ohne Registrierung oder verpflichtende externe Dienste.

  3. Überprüfbares Repository

    Commit-Historie, Issues und Releases sind sichtbar, sodass Sie Wartungszustand und Aktivität einschätzen können.

Alle acht Tools erfüllen die ersten beiden Kriterien. Dredd erfüllt den dritten Punkt nicht mehr, da das Repository archiviert wurde.

Achten Sie besonders auf die Lizenz: MIT und Apache-2.0 sind permissiv. MPL-2.0 ist schwaches Copyleft. AGPL-3.0 kann weitergehende Verpflichtungen auslösen, wenn Sie einen Dienst rund um den Code aufbauen. Lesen Sie die Lizenz, bevor Sie ein Tool in ein Produkt einbetten.

Hurl: lesbare HTTP-Tests als Klartextdateien

Hurl führt HTTP-Anfragen aus Klartextdateien aus und prüft Antworten mit Assertions. Es ist in Rust geschrieben, basiert auf libcurl und wird als einzelne Binärdatei ausgeliefert.

Lizenz: Apache-2.0

Installation und erster Test

brew install hurl
# Alternative:
# cargo install --locked hurl
Enter fullscreen mode Exit fullscreen mode

Erstellen Sie login.hurl:

POST https://api.example.com/login
{ "user": "acme", "pass": "s3cret" }

HTTP 200
[Asserts]
jsonpath "$.token" exists
Enter fullscreen mode Exit fullscreen mode

Führen Sie den Test aus:

hurl --test login.hurl
Enter fullscreen mode Exit fullscreen mode

Geeignet für: Smoke-Tests und vertragsähnliche HTTP-Prüfungen, die im Pull Request als lesbarer Text überprüfbar sein sollen.

Grenze: Hurl ist HTTP-fokussiert. Es ist nicht für gRPC-Steuerung oder Lastgenerierung gedacht. Bei komplexen Abläufen schreiben Sie mehrere .hurl-Dateien statt vollständiger Skripte.

Step CI: deklarative YAML-Workflows für CI

Step CI ist ein YAML-basierter Workflow-Runner für CI. Eine Workflow-Datei kann REST, GraphQL, gRPC, tRPC und SOAP abdecken sowie OpenAPI-Validierung und Lasttests enthalten.

Lizenz: MPL-2.0

Installation und Ausführung

npm install -g stepci

# workflow.yml enthält Schritte, Prüfungen und erfasste Werte
stepci run workflow.yml
Enter fullscreen mode Exit fullscreen mode

Geeignet für: Teams, die mehrstufige API-Flows deklarativ beschreiben und lokal wie in CI identisch ausführen möchten.

Grenze: MPL-2.0 ist schwaches Copyleft. Wenn Sie Dateien von Step CI selbst verändern, gelten Lizenzpflichten für diese Änderungen. Das reine Testen Ihrer Anwendung löst diese Verpflichtung nicht aus.

Schemathesis: Property-basiertes Testen aus OpenAPI oder GraphQL

Schemathesis liest ein OpenAPI- oder GraphQL-Schema und erzeugt daraus Testfälle. Es verwendet Property-basiertes Testen auf Basis von Pythons Hypothesis-Bibliothek, um unerwartete Eingaben, 500er-Fehler und Schemaabweichungen zu finden.

Lizenz: MIT

Installation und Ausführung

uv pip install schemathesis
# Alternative:
# pip install schemathesis

schemathesis run https://api.example.com/openapi.json
Enter fullscreen mode Exit fullscreen mode

Geeignet für: Edge Cases, die Sie nicht einzeln manuell schreiben würden – besonders vor Releases.

Grenze: Ohne brauchbares Schema kann Schemathesis nicht arbeiten. Bei großen APIs können viele Ergebnisse entstehen, die Sie mit Hooks und Optionen eingrenzen müssen.

Dredd: Vertragstests gegen Ihre API-Beschreibung

Dredd prüft, ob ein laufendes Backend mit einer OpenAPI- oder API-Blueprint-Beschreibung übereinstimmt. Das Tool spielt dokumentierte Requests ab und vergleicht die tatsächlichen Antworten mit der Spezifikation.

Lizenz: MIT

Installation und Ausführung

npm install -g dredd

dredd apiary.apib http://127.0.0.1:3000
Enter fullscreen mode Exit fullscreen mode

Geeignet für: Prüfungen, ob Dokumentation und Implementierung auseinanderlaufen.

Wichtige Einschränkung: Das Dredd-Repository wurde im November 2024 archiviert und ist schreibgeschützt. Das Tool funktioniert weiterhin, wird aber nicht mehr gepflegt. Für einen aktiv gepflegten schema-gesteuerten Checker ist Schemathesis die sicherere Wahl.

k6: Lasttests mit JavaScript oder TypeScript

k6 ist Grafanas Tool für Last- und Performance-Tests. Sie schreiben Szenarien in JavaScript oder TypeScript, während eine Go-Engine virtuelle Benutzer in großem Umfang ausführt.

Lizenz: AGPL-3.0

Installation und Ausführung

brew install k6

k6 new script.js
k6 run script.js
Enter fullscreen mode Exit fullscreen mode

Geeignet für: Performance-, Belastungs- und Dauerlasttests mit Hunderten oder Tausenden virtuellen Benutzern.

Grenze: k6 fokussiert sich auf Last, nicht auf detaillierte Vertragsassertions. Beachten Sie außerdem die AGPL-3.0, falls Sie einen Dienst rund um den k6-Code aufbauen oder vertreiben.

Newman: Postman-Sammlungen ohne GUI ausführen

Newman ist der Kommandozeilen-Runner für Postman-Sammlungen. Wenn API-Anfragen und Tests bereits als Postman-Collection vorliegen, können Sie sie direkt im Terminal oder in CI ausführen.

Lizenz: Apache-2.0

Installation und Ausführung

npm install -g newman

newman run my-collection.json -e staging-environment.json
Enter fullscreen mode Exit fullscreen mode

Geeignet für: Teams mit bestehenden Postman-Sammlungen, die diese ohne Desktop-App in CI ausführen möchten.

Grenze: Newman ist an das Postman-Sammlungsformat gebunden. Es führt Collections aus, entwirft oder mockt aber keine APIs.

Tavern: API-Tests als pytest-Plugin

Tavern ist eine Python-Bibliothek, ein CLI und ein pytest-Plugin. API-Tests werden in YAML beschrieben und können mit pytest-Fixtures, Reporting, Parallelisierung und bestehenden CI-Integrationen kombiniert werden.

Lizenz: MIT

Installation und Ausführung

pip install tavern

# test_login.tavern.yaml liegt neben weiteren Tests
pytest test_login.tavern.yaml
Enter fullscreen mode Exit fullscreen mode

Geeignet für: Python-Teams, die API-Tests neben Unit-Tests in einem pytest-Setup pflegen möchten.

Grenze: Tavern setzt ein Python-Test-Setup voraus. In nicht Python-basierten Stacks ist diese Abhängigkeit eher zusätzlicher Aufwand.

Venom: Multi-Executor-Integrationstests von OVHcloud

Venom führt Integrationstests über mehrere Executor-Typen aus: HTTP, Shell-Skripte, IMAP, Web, Datenbanken und weitere. Es verwendet YAML-Testsuiten und kann xUnit-Ergebnisdateien für CI erzeugen.

Lizenz: BSD (modifiziert)

Installation und Ausführung

Laden Sie die Binärdatei über die GitHub-Releases herunter und führen Sie eine Testsuite aus:

venom run testsuite.yml
Enter fullscreen mode Exit fullscreen mode

Geeignet für: End-to-End-Tests, die etwa einen API-Aufruf, einen Datenbankcheck und einen Shell-Schritt in derselben Suite verbinden.

Grenze: Die vielen verfügbaren Executoren können umfangreiche YAML-Dateien erzeugen. Die Dokumentation setzt häufig voraus, dass Sie Beispiele aus dem Repository kombinieren.

Wo Apidog passt – und wo nicht

Apidog ist nicht Open Source und gehört daher nicht in die obige Liste. Es ist ein kommerzielles Produkt mit kostenlosem Tarif. Dennoch kann es relevant sein, wenn Sie nicht mehrere Einzeltools für Design, Tests, Mocking und Dokumentation kombinieren und selbst warten möchten.

Apidog bündelt Design, Tests, Mocking und Dokumentation in einer Plattform. Mit apidog-cli können Sie Tests auch im Terminal und in CI ausführen:

npm install -g apidog-cli
apidog login --with-token <YOUR_TOKEN>
apidog run --access-token <TOKEN>   # 0 bei Erfolg, ungleich 0 bei Fehler
Enter fullscreen mode Exit fullscreen mode

Die Ausgabe ist strukturiertes JSON mit agentHints.nextSteps, was Skripting und die Übergabe an einen KI-Agenten erleichtert. Der vollständige apidog-cli Leitfaden beschreibt den vollständigen Befehlssatz.

Der praktische Kompromiss:

  • Wählen Sie eines der acht Open-Source-Tools, wenn eine prüfbare Lizenz zwingend ist.
  • Wählen Sie einen integrierten Workflow, wenn Sie den Pflegeaufwand einer Toolchain reduzieren möchten.

So wählen Sie das passende Tool

Tool Am besten geeignet für Installation Open Source? Lizenz
Hurl Klartext-HTTP-Assertions in Git brew install hurl Ja Apache-2.0
Step CI Deklarative CI-Workflows npm i -g stepci Ja MPL-2.0
Schemathesis Property-basiertes Fuzzing aus einem Schema pip install schemathesis Ja MIT
Dredd Vertragstests: Doku gegen Implementierung npm i -g dredd Ja, archiviert MIT
k6 Last- und Performance-Tests brew install k6 Ja AGPL-3.0
Newman Postman-Sammlungen in CI ausführen npm i -g newman Ja Apache-2.0
Tavern API-Tests innerhalb von pytest pip install tavern Ja MIT
Venom Multi-Executor-Integrationssuiten GitHub Releases Ja BSD
apidog-cli Integrierter Design-zu-Test-Workflow npm i -g apidog-cli Nein, kostenloser Tarif Kommerziell

Wählen Sie nach Aufgabe:

  • Schnelle, lesbare HTTP-Prüfungen: Hurl oder Newman
  • Schema-getriebenes Finden von Fehlern: Schemathesis
  • Last und Skalierung: k6
  • Tests im Python-Ökosystem: Tavern
  • API plus Datenbank, Shell oder weitere Systeme: Venom
  • Deklarative mehrstufige Workflows: Step CI

Wenn Sie die Tools in einen größeren Prozess einordnen möchten, erklärt der Leitfaden zu API-Teststrategien, wo die jeweiligen Testarten passen. Der Artikel über headless API-Test-Tools behandelt zusätzlich das vollständige Ausführen ohne Benutzeroberfläche.

Zusammenfassung

Open-Source-CLI-Tools geben Ihnen API-Tests, die Sie lesen, forken und lokal oder in CI betreiben können:

  • Hurl und Newman für alltägliche Request- und Response-Prüfungen
  • Schemathesis und Dredd für vertrags- und schemaorientierte Tests
  • k6 für Performance und Last
  • Tavern und Venom für die Integration in größere Testsuiten

Wählen Sie nach Lizenz und konkreter Aufgabe. In vielen Pipelines ist auch eine Kombination sinnvoll, etwa Hurl für Smoke-Tests und k6 für Lasttests.

Wenn Sie Design, Tests, Mocking und Dokumentation lieber in einem Workflow bündeln möchten, deckt Apidog den gesamten Lebenszyklus ab und stellt apidog-cli für CI bereit. Laden Sie Apidog herunter, um die CLI neben den genannten Tools auszuprobieren.

Top comments (0)