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:
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.Lokal und ohne Konto ausführbar
Sie können das Tool auf Ihrem Rechner oder CI-Runner betreiben, ohne Registrierung oder verpflichtende externe Dienste.Ü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
Erstellen Sie login.hurl:
POST https://api.example.com/login
{ "user": "acme", "pass": "s3cret" }
HTTP 200
[Asserts]
jsonpath "$.token" exists
Führen Sie den Test aus:
hurl --test login.hurl
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
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
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
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
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
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
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
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
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)