Dieser Artikel führt Sie in die Kombination von Apidog CLI mit Claude Skills ein, um einen effizienten Workflow für natürlichsprachlich gesteuerte API-Automatisierungstests aufzubauen.
In diesem Workflow müssen Sie Claude Code in Ihrem Terminal nur einen einzigen Satz sagen, zum Beispiel:
"Führe den Benutzerbestellfluss-Test in dev aus."
Claude Code wird Ihre Absicht automatisch verstehen, das entsprechende Testszenario oder die Testsuite finden, die Tests ausführen und die Ergebnisse für Sie zusammenfassen und interpretieren.

Tool-Übersicht
Dieser Workflow besteht aus drei Tools:
1. Apidog CLI
Die von Apidog bereitgestellte Befehlszeilenschnittstelle. Sie wird verwendet, um API-Automatisierungstests über das Terminal auszuführen und Testberichte zu generieren.
2. Claude Code
Ein von Anthropic veröffentlichter Befehlszeilen-KI-Assistent. Er kann Dateien bearbeiten, Befehle ausführen, Skripte ausführen und mit Ihrer lokalen Entwicklungsumgebung interagieren.
3. Claude Skills
Auch bekannt als Agent Skills, ein Erweiterungsmechanismus von Claude Code. Ein Skill definiert, wie Claude eine bestimmte Aufgabe erledigen soll, und fungiert im Wesentlichen als eine ausführbare Menge von Bedienungsanweisungen.
In diesem Workflow ist Claude Code für das Verständnis natürlicher Sprachanweisungen verantwortlich. Wenn eine Benutzeranfrage einem vordefinierten Claude Skill entspricht, führt Claude automatisch die entsprechenden Apidog CLI-Befehle aus und analysiert die Ergebnisse.
Was dieser Workflow leisten kann
Nachfolgend finden Sie verschiedene reale Szenarien, die veranschaulichen, wie dieser Workflow in der Praxis eingesetzt werden kann.
Einen einzelnen Test ausführen
Wenn Sie ein bestimmtes Testszenario ausführen möchten, können Sie es explizit benennen. Zum Beispiel:
"Führe die Login-Tests in dev aus."
Nach Abschluss des Tests analysiert Claude die Ergebnisse und liefert eine Zusammenfassung.

Alle verfügbaren Tests auflisten
Um zu sehen, welche Testszenarien oder Testsuiten verfügbar sind, können Sie sagen:
"Zeige mir die verfügbaren Tests."
Claude führt das entsprechende Skript aus und listet alle Tests auf.

Alle Tests für ein Geschäftsmodul ausführen
Wenn Sie alle Tests für einen bestimmten Geschäftsbereich – wie zum Beispiel zahlungsbezogene Tests – ausführen möchten, können Sie sagen:
"Führe alle Zahlungstests in der Testumgebung aus."
Claude findet automatisch alle relevanten Testdateien und führt sie sequenziell oder parallel aus.

Testergebnisse über Umgebungen hinweg vergleichen
Um Ergebnisse über Umgebungen hinweg zu vergleichen, können Sie sagen:
"Führe die Login-Tests in dev und test aus."
Claude führt die Tests in beiden Umgebungen aus und analysiert die Unterschiede in den Ergebnissen.

Tests basierend auf Code-Änderungen ausführen
Nach Code-Änderungen können Sie Claude bitten, nur die betroffenen Tests auszuführen:
"Führe basierend auf den jüngsten Code-Änderungen die betroffenen API-Tests in dev aus."
Claude analysiert Git-Änderungen, bestimmt die betroffenen Testszenarien oder Testsuiten und führt nur diese Tests aus – das spart Zeit und Ressourcen.
Weitere Szenarien warten darauf, von Ihnen erkundet zu werden.
Als Nächstes werden wir die Installation und Konfiguration von Apidog CLI, Claude Code und Claude Skills sowie deren Kombination zu einem vollständigen Workflow durchgehen.
Vorbereitung
Umgebungsanforderungen
Stellen Sie sicher, dass Node.js auf Ihrem Computer installiert ist. Überprüfen Sie dies in Ihrem Terminal:
node -v
npm -vApidog CLI installieren
Installation über npm:
npm install -g apidog-cli
Überprüfen Sie die Installation:
apidog --versionWenn eine Versionsnummer angezeigt wird, war die Installation erfolgreich.
Sie können einen CLI-Befehl für ein Testszenario oder eine Testsuite aus Apidog → Tests → CI/CD kopieren, Ihren Access Token hinzufügen und ihn im Terminal ausführen.

Wenn die Testausgabe erscheint, funktioniert Apidog CLI korrekt.
Claude Code installieren
Installation über npm:
npm install -g @anthropic-ai/claude-codeÜberprüfen Sie:
claude --versionBeim ersten Ausführen müssen Sie sich anmelden:
claude
Befolgen Sie die Autorisierungsschritte. Ein Claude-Konto ist erforderlich. Nach dem Einloggen gelangen Sie in die interaktive Oberfläche und können grundlegende Fragen stellen.
Zu diesem Zeitpunkt weiß Claude noch nicht, wie Apidog-Tests ausgeführt werden. Als Nächstes bringen wir es ihm mit Claude Skills bei.
Claude Skills erstellen
Verständnis der Funktionsweise von Skills
Bei der Verwendung von Claude Code wählen Sie einen Skill nicht manuell aus. Sie beschreiben einfach in natürlicher Sprache, was Sie tun möchten.
Wenn Ihre Anfrage der Beschreibung eines Skills entspricht, lädt Claude diesen Skill automatisch und führt den definierten Workflow aus.
Schritt 1: Den Skill-Ordner erstellen
Alle Skill-Konfigurationen befinden sich im Ordner .claude/skills/. Jeder Skill hat einen eigenen Unterordner.
Erstellen Sie einen minimalen Skill-Ordner für Apidog-Automatisierungstests im Projektstammverzeichnis:
mkdir -p .claude/skills/apidog-tests
Resultierende Struktur:
.claude/skills/apidog-tests/Wir werden hier schrittweise Einstiegsdateien und Skripte hinzufügen.
Schritt 2: SKILL.md erstellen
Jeder Skill benötigt eine SKILL.md-Datei, die definiert, wie Claude die Aufgabe ausführen soll, sobald der Skill ausgelöst wird.
Die Datei beginnt mit YAML-Metadaten, die in --- eingeschlossen sind. Die Felder name und description sind obligatorisch.
Die description ist besonders wichtig – sie bestimmt, wann Claude diesen Skill aktivieren sollte.
Unterhalb des YAML-Blocks definiert der Markdown-Inhalt die Ausführungslogik, Entscheidungsregeln, aufzurufende Skripte und Einschränkungen.
Beispiel SKILL.md für Apidog-Automatisierungstests
---
name: apidog-tests
description: Führt automatisierte Apidog API-Tests über Apidog CLI aus und interpretiert diese. Lösen Sie diesen Skill aus, wann immer der Benutzer explizit darum bittet, Tests, Testfälle, Testszenarien oder Testsuiten auszuführen, einschließlich Anfragen zur Ausführung von Tests in einer bestimmten Umgebung wie dev, test oder prod, um das API-Verhalten nach Code-Änderungen zu überprüfen, Regressionstests oder Pre-Release-Tests durchzuführen oder API-Prüfungen vor dem Git-Commit, Push oder Merge durchzuführen. Auch wenn der Benutzer "Apidog" oder "API" nicht explizit erwähnt, gehen Sie davon aus, dass sich diese Anfragen auf automatisierte Apidog-Tests beziehen, wenn die Testausführung impliziert ist. Der Skill sollte das entsprechende Testszenario oder die Testsuite auswählen, die Tests ausführen und die Ergebnisse erläutern, ohne Testdefinitionen oder Befehle selbst zu ändern.
---
# Apidog-Tests
Führt automatisierte Apidog-Tests aus und interpretiert die Ergebnisse.
## Workflow
1. **Test auswählen**:
- Wenn der Benutzer explizit angibt:
- Dateipfad des Tests
- Dateiname des Tests
- Oder einen klaren, eindeutig passenden Testnamen
- Verwenden Sie diesen Test direkt ohne automatische Auswahl.
- Wenn die Informationen unklar sind, priorisieren Sie die Ausführung des Skripts `node ./.claude/skills/apidog-tests/scripts/list-tests.js`, um schnell alle Testdateipfade und Beschreibungen abzurufen.
- Vermeiden Sie blinde globale Suchen in großen Projektverzeichnissen; suchen Sie stattdessen den Testdateiverzeichnis `./.claude/skills/apidog-tests/tests/`, der für diesen Skill vorgesehen ist.
2. **Regeln für die Ausführung mehrerer Tests**
- Standardmäßig wird nur ein Test ausgeführt, aber es wird die Option zur Stapelausführung angeboten.
- Wenn der Benutzer explizit angibt:
- "Führe diese wenigen aus"
- "Führe alle aus"
- Wechseln Sie in den **Stapelausführungsmodus**.
Im Stapelausführungsmodus:
- Listen Sie die auszuführenden Tests klar auf.
- **Fragen Sie nach der Ausführungsmethode**: Lassen Sie den Benutzer zwischen "Sequenzieller Ausführung" (bessere Lesbarkeit) oder "Paralleler Ausführung" (schneller) wählen.
- **Sequenzielle Ausführung**: Tests nacheinander ausführen und sofort analysieren, geeignet zum Debuggen.
- **Parallele Ausführung**: Mehrere Tests gleichzeitig starten (mit `&` oder gleichzeitigen Skripten), geeignet für schnelle Regression, obwohl sich die Logs überlagern können.
- Fordern Sie den Benutzer auf, die Ausführungsmethode und die Testliste zu bestätigen (Ja / Nein).
- Führen Sie die Tests entsprechend der gewählten Methode aus.
- Fassen Sie abschließend die Ergebnisse jedes Tests zusammen oder erläutern Sie sie einzeln.
3. **Umgebung bestätigen**:
- Unterstützte Umgebungen umfassen:
- `dev`
- `test`
- `prod`
- Wenn der Benutzer keine Umgebung angegeben hat:
- Listen Sie die oben genannten Umgebungsnamen auf.
- Lassen Sie den Benutzer bestätigen, welche verwendet werden soll.
4. **Test ausführen**:
- Führen Sie den Test aus, sobald die folgenden Informationen klar sind:
- Dateipfad des Tests
- Umgebungsname (dev / test / prod)
```bash
node ./.claude/skills/apidog-tests/scripts/run-cli.js <test_file_path> <env_name>
```
5. **Ergebnisse interpretieren**: Analysieren Sie die Apidog CLI-Ausgabe und erklären Sie die Ursachen von Fehlern.
## Fehlerbehandlung
- Testdateien nicht ändern.
- Ausführungsbefehle nicht ändern.
- Fehlerrisiken basierend auf Testnamen, API-Semantik und CLI-Ausgabe erklären.
Schritt 3: Unterstützende Dateien
In den vorherigen Schritten haben wir die Datei SKILL.md erstellt, die die Auslösebedingungen und den gesamten Ausführungs-Workflow für diesen Skill definiert.
Auf dieser Grundlage dienen alle verbleibenden Dateien lediglich als unterstützende Komponenten für SKILL.md. Zusätzliche Dateien werden bedarfsgesteuert eingeführt, nur wenn der Workflow zusätzliche Informationen erfordert – wie Laufzeitumgebungen, Ausführungsbefehle oder Testdefinitionen.
Endgültige Ordnerstruktur:
.claude/skills/apidog-tests/
├── SKILL.md
├── env/
│ ├── dev.env
│ ├── test.env
│ └── prod.env
├── scripts/
│ ├── list-tests.js
│ └── run-cli.js
└── tests/
├── payment-flow.md
└── refund-flow.md
Im Folgenden gehen wir jede unterstützende Datei durch, erklären ihren Zweck und geben Beispiele.
Umgebungskonfiguration (env)
Der Ordner env/ wird verwendet, um Umgebungsvariablen-Konfigurationen zu speichern, wie den Apidog Access Token und die Umgebungs-ID.
Durch das Extrahieren der Umgebungs-ID in eine Variable können wir die Testausführungsumgebung (z. B. Entwicklung, Test, Produktion) schnell wechseln, ohne Befehle oder Skripte ändern zu müssen.
Erstellen Sie beispielsweise eine Datei dev.env im Ordner env/:
APIDOG_ACCESS_TOKEN=APS-your-access-token
APIDOG_ENV_ID=your-environment-idFalls mehrere Umgebungen benötigt werden, können Sie auf die gleiche Weise weitere Dateien erstellen:
test.envprod.env- …
Jede Datei muss nur die Variablen für ihre entsprechende Umgebung verwalten.

Die Umgebungs-ID entspricht dem numerischen Wert, der dem Parameter -e im Apidog CLI-Befehl übergeben wird. Jede Laufzeitumgebung (wie Entwicklung, Test oder Produktion) hat eine eindeutige Umgebungs-ID in Apidog.

.env-Dateien im Ordner env/ enthalten Access Tokens, die vertrauliche Informationen sind und nicht in Git committed werden dürfen.Ausführungsskripte (scripts)
Der Ordner scripts/ enthält ausführbare Skripte, die dafür verantwortlich sind, Testdefinitionen in tatsächlich ausführbare Apidog CLI-Befehle umzuwandeln, Umgebungsvariablen einzufügen und die Tests auszuführen.
In diesem Skill wurde Node.js aus zwei Hauptgründen gewählt:
- Apidog CLI selbst hängt von Node.js ab. Die Wiederverwendung derselben Laufzeit vermeidet die Notwendigkeit, zusätzliche Laufzeiten wie Python zu installieren.
- Reduzierung des Kontext-Overheads und des Token-Verbrauchs. Durch die Verarbeitung von Befehls-Parsing, Variableninjektion und Ausführungslogik innerhalb von Skripten muss Claude während der Konversation nicht wiederholt vollständige CLI-Befehle konstruieren, was den Kontextverbrauch erheblich reduziert.
Wenn Sie mit Skripting nicht vertraut sind, können Sie sich entscheiden, überhaupt keine Skripte zu verwenden. Stattdessen können Sie Claude die CLI-Befehle direkt in SKILL.md zusammenstellen und ausführen lassen.
Dieser Ansatz bringt jedoch höhere Kontext- und Token-Kosten mit sich.
Erstellen Sie run-cli.js im Ordner scripts/. Die Kernaufgaben sind:
- Den Apidog CLI-Befehl aus einer bestimmten Markdown-Testdatei extrahieren
- Die entsprechende
.env-Datei basierend auf der ausgewählten Umgebung (z. B.dev/test) laden - Umgebungsvariablen injizieren und den Test ausführen
Ein sofort einsatzbereites Beispielskript ist unten aufgeführt:
import fs from "fs";
import path from "path";
import { execSync } from "child_process";
import dotenv from "dotenv";
import { fileURLToPath } from "url";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
// args
const mdPath = process.argv[2];
const envName = process.argv[3] || "local";
if (!mdPath) {
console.error("❌ Fehlender Test-.md-Dateipfad");
process.exit(1);
}
// env path: always relative to the skill folder
const envPath = path.join(__dirname, "..", "env", `${envName}.env`);
if (!fs.existsSync(envPath)) {
console.error(`❌ Umgebungskonfiguration nicht gefunden: ${envPath}`);
process.exit(1);
}
dotenv.config({ path: envPath });
// Read markdown file
const content = fs.readFileSync(mdPath, "utf-8");
const match = content.match(/```bash([\s\S]*?)```/);
if (!match) {
console.error("❌ Bash-Befehlsblock nicht gefunden");
process.exit(1);
}
let command = match[1].trim();
// Variable replacement
command = command
.replaceAll("$APIDOG_ACCESS_TOKEN", process.env.APIDOG_ACCESS_TOKEN)
.replaceAll("$APIDOG_ENV_ID", process.env.APIDOG_ENV_ID);
console.log(`▶ Wird ausgeführt (${envName})`);
console.log(command);
// Execute
try {
execSync(command, { stdio: "inherit" });
} catch (e) {
// Apidog CLI returns exit code 1 when tests fail
process.exit(1);
}
Erstellen Sie außerdem list-tests.js im Ordner scripts/. Es wird verwendet, um:
- Den Ordner
tests/rekursiv zu durchsuchen - Alle Markdown-Testdateien zu lokalisieren
- Die Beschreibung aus der ersten Zeile zu extrahieren
- Eine Liste aller verfügbaren automatisierten Apidog-Tests auszugeben
Ein sofort einsatzbereites Beispielskript ist unten aufgeführt:
import fs from "fs";
import path from "path";
import { fileURLToPath } from "url";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const testsDir = path.join(__dirname, "..", "tests");
function scan(dir, relativePath = "") {
const items = fs.readdirSync(dir, { withFileTypes: true });
for (const item of items) {
const fullPath = path.join(dir, item.name);
const relPath = path.join(relativePath, item.name);
if (item.isDirectory()) { // Changed from isfolder() to isDirectory()
scan(fullPath, relPath);
} else if (item.name.endsWith(".md")) {
try {
const content = fs.readFileSync(fullPath, "utf-8");
const firstLine = content.split("\n")[0].trim();
const description = firstLine.startsWith(">")
? firstLine.replace(/^>\s*/, "").trim()
: "Keine Beschreibung";
const displayPath = path.join(
"./.claude/skills/apidog-tests/tests",
relPath
);
console.log(`[${displayPath}] - ${description}`);
} catch (err) {
console.log(`[${relPath}] - (Datei kann nicht gelesen werden)`);
}
}
}
}
console.log("🔍 Verfügbare automatisierte Apidog-Tests:");
if (fs.existsSync(testsDir)) {
scan(testsDir);
} else {
console.log("❌ Tests-Ordner nicht gefunden");
}Testdefinitionen (tests)
Der Ordner tests/ speichert in Markdown geschriebene Testdefinitionen.
Designprinzip: Jede Markdown-Datei entspricht einem Apidog-Testszenario oder einer Testsuite. Sie können bestehende Ordnerstrukturen, Testszenario-Namen, Testsuite-Namen und Beschreibungen aus den Apidog-Automatisierungstests direkt wiederverwenden.
Jede Markdown-Datei muss nur zwei Teile enthalten:
- Eine kurze Testbeschreibung
- Einen einzelnen Apidog CLI-Befehl, der direkt ausgeführt werden kann
Im Apidog CLI-Befehl:
- Der Access Token wird durch
$APIDOG_ACCESS_TOKENersetzt - Die an
-eübergebene Umgebungs-ID wird durch$APIDOG_ENV_IDersetzt
Beide Variablen werden zentral in .env-Dateien konfiguriert. Dieser Ansatz verhindert Token-Lecks und ermöglicht eine flexible Umgebungswechsel.
Beispiel: login-auth-flow.md
> Überprüft Kern-APIs wie Login, Token-Refresh und Logout.
```bash
apidog run --access-token $APIDOG_ACCESS_TOKEN -t 5564xxx -e $APIDOG_ENV_ID -n 1 -r html,cli
```
An diesem Punkt ist der Skill vollständig konstruiert. Sie können die Ordnerstruktur überprüfen und mit Ihrer eigenen Implementierung vergleichen, um eventuelle Unterschiede zu identifizieren.

Den Workflow in Claude Code verwenden
Führen Sie claude im Projektordner aus. Claude scannt automatisch .claude/skills/ und lädt den apidog-tests Skill.
Sie können geladene Skills mit /skills auflisten.

Versuchen Sie dann einen natürlichsprachlichen Befehl:
"Führe die Login-Tests in dev aus."

Claude findet den Test, führt ihn über Apidog CLI aus, analysiert die Ausgabe und fasst die Ergebnisse zusammen.
Zusammenfassung
Dieser Artikel hat gezeigt, wie ein automatisierter API-Test-Workflow mit Claude Code, Apidog CLI und Claude Skills erstellt werden kann.
Die Kernidee ist es, Claude zur Brücke zwischen Menschen und Tools zu machen:
- Sie beschreiben die Absicht in natürlicher Sprache
- Claude versteht und ruft Skripte auf
- Skripte führen Apidog CLI aus
- Claude analysiert und präsentiert die Ergebnisse in einer für Menschen lesbaren Form
Um diesen Workflow wirklich effektiv zu gestalten, sollten Sie ihn an Ihr Projekt anpassen – Testorganisation, Umgebungsstrategie und Logik zur Ergebnisalyse können alle individualisiert werden.
Wenn Ihr Team häufig API-Tests durchführt und eine automatisierte und intelligentere Erfahrung wünscht, ist dieser Ansatz einen Versuch wert. Er erfordert zwar einen gewissen Einrichtungsaufwand, aber sobald er etabliert ist, kann er die Effizienz erheblich verbessern – und wird mit jeder Verfeinerung noch besser.
