TL;DR
Die Migration von ReadyAPI zu Apidog ist für REST-lastige Test-Suites unkompliziert. Exportieren Sie Ihr ReadyAPI-Projekt, konvertieren Sie, was Sie können, über den OpenAPI-Import und erstellen Sie Groovy-Skripte manuell in JavaScript neu. SOAP-Testfälle erfordern die meiste manuelle Arbeit. Planen Sie eine phasenweise Migration, um eine durchgehende Testabdeckung zu gewährleisten.
💡Apidog ist eine kostenlose All-in-One-Plattform für die API-Entwicklung, die OpenAPI-Spezifikationen und Postman-Sammlungen importiert und Test-Pipelines mit JavaScript-Skripten ausführt. Testen Sie Apidog kostenlos, keine Kreditkarte erforderlich.
Einleitung
Die Migration von API-Testinfrastrukturen ist eine jener Aufgaben, die zunächst einfach klingen, bis man damit beginnt. ReadyAPI-Projekte können jahrelang angesammelte Testfälle, benutzerdefinierte Groovy-Skripte, Datendateien, Umgebungen und komplexe Test-Suite-Strukturen enthalten. All dies in Apidog zu integrieren, erfordert ein Verständnis dafür, was automatisch übertragen wird, was manuell konvertiert werden muss und was Sie möglicherweise zurücklassen möchten.
Dieser Leitfaden zeigt Ihnen Schritt für Schritt, wie Sie Ihr ReadyAPI-Projekt exportieren, die Elemente analysieren, die Migration per OpenAPI-Import durchführen, Groovy-Skripte nach JavaScript umschreiben, CI/CD aufsetzen und beide Tools während der Umstellung parallel betreiben.
Schritt 1: ReadyAPI-Projekt prüfen
Starten Sie mit einem strukturierten Audit:
- Öffnen Sie Ihr ReadyAPI-Projekt.
- Prüfen Sie:
- Anzahl der Test-Suites, Testfälle, Testschritte: Im Navigator-Panel zählen.
- REST vs. SOAP-Anteil: REST ist einfacher zu migrieren.
- Groovy-Skripting: Wie viele Testfälle nutzen eigene Groovy-Skripte? Jeder Groovy-Schritt muss manuell nach JavaScript konvertiert werden.
- Datengesteuerte Tests: Werden DataSource/DataSink-Schritte genutzt? Apidog verwendet stattdessen CSV/JSON.
- Properties/Property Transfers: Müssen als Variablen/Umgebungsvariablen neu abgebildet werden.
- Lasttests via LoadUI Pro: LoadUI Pro-Integration migriert nicht. Lasttests separat (z.B. mit k6) abbilden.
Erstellen Sie eine Tabelle mit Testfallname, Typ (REST/SOAP), Groovy (ja/nein), Komplexität. So schätzen Sie den Migrationsaufwand ab.
Schritt 2: ReadyAPI-Projekt exportieren
Exportieren Sie Ihr Projekt als XML:
- In ReadyAPI das Projekt öffnen.
- Datei → "Speichern unter" und als XML ablegen.
- Externe Datendateien (CSV, Excel, XML) sichern.
- Umgebungs-Konfigurationen dokumentieren.
Die XML enthält alle Teststrukturen, Skripte und Konfigurationen.
Schritt 3: API-Definitionen extrahieren
Für REST-APIs empfiehlt sich der Weg über eine OpenAPI-Spezifikation:
- Option A: In ReadyAPI mit Rechtsklick auf den REST-Dienst → API-Definition exportieren (OpenAPI/Swagger).
-
Option B: OpenAPI-Spezifikation direkt aus dem Backend (z.B.
/openapi.json) herunterladen. - Option C: Manuell: Alle Endpunkte, Header, Payloads aus ReadyAPI-Anfragen extrahieren.
Schritt 4: Import in Apidog
Importieren Sie die OpenAPI-Spezifikation in Apidog:
- Neues Projekt in Apidog anlegen.
- APIs → Import → OpenAPI 3.0/Swagger 2.0 auswählen.
- Die Datei hochladen oder die URL einfügen.
- Apidog generiert daraus die API-Definitionen mit allen Endpunkten.
Postman-Sammlungen: Ebenfalls über Datei → Import → Postman möglich.
Schritt 5: REST-Testfälle neu erstellen
Gehen Sie so vor:
- Öffnen Sie einen ReadyAPI REST-Testfall.
- Identifizieren Sie: Anfragen, Assertions, Datenquellen.
- Erstellen Sie in Apidog einen Testfall zum API-Endpunkt und fügen Sie die Schritte hinzu.
Assertions-Konvertierung:
- Body enthält String:
pm.test('contains value', () => {
pm.expect(pm.response.text()).to.include('expected string');
});
- Statuscode-Check:
pm.test('status 200', () => {
pm.response.to.have.status(200);
});
- JSON-Feld prüfen:
pm.test('field value', () => {
pm.expect(pm.response.json().fieldName).to.equal('expected');
});
Kleine Testfälle ohne Groovy-Skripte sind in 15-30 Minuten migriert.
Schritt 6: Groovy-Skripte nach JavaScript konvertieren
Konvertieren Sie manuell gängige Muster:
Antwortwert lesen:
Groovy:
def response = context.expand('${TestStep#Response}')
def json = new groovy.json.JsonSlurper().parseText(response)
def value = json.fieldName
JavaScript:
const response = pm.response.json();
const value = response.fieldName;
Variable setzen:
Groovy:
testRunner.testCase.setPropertyValue('myVariable', someValue)
JavaScript:
pm.variables.set('myVariable', someValue);
Bedingte Assertion:
Groovy:
if (statusCode == 200) {
assert responseBody.contains("success")
}
JavaScript:
if (pm.response.code === 200) {
pm.test('response contains success', () => {
pm.expect(pm.response.text()).to.include('success');
});
}
Datumsformat:
Groovy:
def now = new Date()
def formatted = now.format('yyyy-MM-dd')
JavaScript:
const now = new Date();
const formatted = now.toISOString().split('T')[0];
Bei komplexen Skripten: Code sorgfältig analysieren, Logik und Nebenwirkungen verstehen und in JavaScript neu umsetzen. Keine automatische Übersetzung nutzen.
Schritt 7: SOAP-Testfälle behandeln
SOAP-Migration bleibt manuell:
- Falls REST-Alternative vorhanden: REST-Endpunkte nutzen, SOAP-Schicht eliminieren.
- Keine REST-Alternative:
- ReadyAPI für SOAP behalten: Führen Sie ReadyAPI parallel für SOAP-Testfälle weiter und Apidog für REST.
- SoapUI Open Source: Für grundlegende SOAP-Tests (ohne Lizenzkosten).
WS-Security-Testfälle und komplexe Assertions sind besonders risikobehaftet – Migration nicht überstürzen.
Schritt 8: Umgebungen und Variablen einrichten
- In Apidog unter Einstellungen → Umgebungen für jede ReadyAPI-Umgebung eine neue anlegen.
- Variablen (Basis-URL, Tokens, Header) übertragen.
- Variablen in Testfällen mit
{{variableName}}referenzieren.
Schritt 9: CI/CD konfigurieren
Apidog läuft via CLI:
- Apidog CLI auf dem Agenten installieren:
npm install -g apidog-cli
- Test-Sammlung ausführen:
apidog run "path/to/collection.json" -e "environment-id"
- Beispiel-Workflow für GitHub Actions:
- name: Run API tests
run: apidog run collection.json --environment staging
- In Jenkins: Shell-Schritt mit CLI-Aufruf ergänzen.
Passen Sie Ihre CI-Konfiguration an, entfernen Sie ReadyAPI-testrunner erst, wenn die Apidog-Läufe validiert sind.
Schritt 10: Paralleler Betrieb während der Migration
Betreiben Sie ReadyAPI und Apidog mindestens einen Release-Zyklus parallel:
- ReadyAPI-Tests bleiben zunächst maßgeblich.
- Apidog-Tests parallel ausführen und Ergebnisse vergleichen.
- Alle neuen Testfälle nur noch in Apidog anlegen.
- Nach Abschluss der Validierung ReadyAPI aus der CI entfernen, aber als Fallback weiter vorhalten.
FAQ
Wie lange dauert die Migration?
Reines REST-Projekt: 1–3 Tage. Großes Projekt mit Groovy und SOAP: 2–6 Wochen. Das Audit aus Schritt 1 gibt eine klare Schätzung.
Werden ReadyAPI-Testdatendateien unterstützt?
CSV funktioniert direkt. Excel erst in CSV konvertieren. XML-Daten ggf. umstrukturieren.
Kann ich beide Tools in derselben CI-Pipeline ausführen?
Ja, empfohlen. Beide Schritte parallel laufen lassen und Ergebnisse vergleichen.
Müssen Umgebungen manuell neu angelegt werden?
Ja, es gibt keinen automatisierten Import. ReadyAPI- und Apidog-Umgebungen nebeneinander öffnen und übertragen.
Was passiert mit Testfällen ohne REST-Äquivalent?
Entweder ReadyAPI (ggf. weniger Lizenzen) behalten, zu SoapUI Open Source migrieren oder Testlücke akzeptieren.
Unterstützt Apidog alle Assertion-Typen von ReadyAPI?
JavaScript-Assertions decken die meisten logischen Bedingungen für REST ab. Spezifische Assertions für SOAP/WS-Security gibt es nicht.
Die Migration von ReadyAPI zu Apidog ist ein strukturiertes Projekt. Mit sorgfältiger Planung, einem klaren Audit, schrittweiser REST-Migration und parallelem Betrieb vermeiden Sie Abdeckungslücken und Regressionen.
Top comments (0)