Zum Inhalt springen
SDETRole
SDETRole

API-Testing

cURL-zu-Code-Konverter

curl-Befehl in Playwright-, REST-Assured- oder Python-Code umwandeln.

Läuft vollständig in Ihrem Browser Ohne Anmeldung

cURL command

Paste from docs, a bug report or your browser’s “Copy as cURL”. Bash, cmd (^) and PowerShell (`) line continuations all work.

Code

Über dieses Tool

API-Dokus, Bugreports und „Copy as cURL“ im Browser liefern Ihnen einen curl-Befehl, Ihre Testsuite braucht aber Code. Dieser Konverter parst den Befehl wie eine Shell (einfache und doppelte Anführungszeichen, $'…'-Strings sowie Zeilenfortsetzungen aus Bash, cmd und PowerShell) und macht daraus einen Playwright-Test mit der request-Fixture, eine given/when/then-Kette in REST Assured, einen Aufruf mit Python requests oder JavaScript-fetch. Er übernimmt Methode, URL und Query-String, Header, Basic Auth aus -u, JSON-, Formular- und Raw-Bodies sowie die Optionen -k und --max-time. Optionen, die er nicht umwandeln kann, etwa Multipart-Uploads (-F) oder Client-Zertifikate, werden aufgelistet statt stillschweigend verworfen, damit Sie wissen, was Sie von Hand ergänzen müssen. Alles läuft in Ihrem Browser, und nichts, was Sie einfügen, wird irgendwohin gesendet.

So funktioniert es

  1. Fügen Sie links einen curl-Befehl ein oder klicken Sie auf „Load sample“ (Beispiel laden).
  2. Wählen Sie Playwright, REST Assured, Python requests oder fetch. Der Code aktualisiert sich während der Eingabe.
  3. Kopieren Sie den Code in Ihren Test und ersetzen Sie die Beispiel-Assertions durch die, die Ihr Test braucht. Um zuerst den Request zu ändern, klicken Sie auf „Edit in cURL generator“.

Aus der Ausgabe einen echten Test machen

Der umgewandelte Code sendet denselben Request, aber ein Request ist erst dann ein Test, wenn er etwas prüft. Beginnen Sie mit dem Status (await expect(response).toBeOK() in Playwright, then().statusCode(200) in REST Assured) und prüfen Sie dann die Felder, die das Verhalten belegen, nicht den gesamten Body. IDs, Zeitstempel und Tokens ändern sich zwischen Läufen; prüfen Sie bei ihnen Typ oder Format statt Wert.

Entfernen Sie Secrets aus dem Code, bevor Sie committen. Ein aus dem Browser kopierter Befehl enthält oft ein gültiges Session-Cookie oder Bearer-Token: Lesen Sie es stattdessen aus einer Umgebungsvariable oder einer Login-Fixture und rotieren Sie das Token, falls es geteilt wurde.

Was „Copy as cURL“ hinzufügt und was Sie löschen können

  • Browser-Header wie sec-ch-ua, sec-fetch-*, user-agent, accept-language und priority. APIs brauchen sie selten, und sie machen den Test schwerer lesbar.
  • Cookie-Header mit Ihrer Session. Ersetzen Sie sie durch einen sauberen Auth-Schritt, etwa storageState in Playwright oder einen Token-Request in einer Fixture.
  • Referer und Origin. Behalten Sie sie nur, wenn die API sie prüft, etwa zum CSRF-Schutz.
  • Die Windows-Varianten („Copy as cURL (cmd)“ bzw. „(PowerShell)“) verwenden ein anderes Quoting; der Konverter versteht beide.

FAQ zu cURL-zu-Code-Konverter

Wie wandle ich curl in einen Playwright-API-Test um?

Fügen Sie den Befehl ein und wählen Sie Playwright. Die Ausgabe ist ein Test mit der eingebauten request-Fixture: request.post(url, { headers, data }) gefolgt von expect(response.ok()).toBeTruthy(). Ersetzen Sie das durch Assertions auf Status und die Felder, die für Ihren Test wichtig sind. Er läuft mit npx playwright test und braucht keinen Browser, ist also schnell genug für API-Checks in derselben Suite wie Ihre UI-Tests.

Welche curl-Optionen werden unterstützt?

-X, -H, -d, --data, --data-raw, --data-binary, --data-urlencode, --json, -u, -G, -I, -i, -L, -k, --compressed, --max-time, -A (User Agent), -e (Referer) und -b (als Cookie-Header gesendet) sowie Quoting und Zeilenfortsetzungen für Bash, cmd und PowerShell. Alles andere, etwa -F-Multipart-Uploads oder --cert, wird als Warnung aufgeführt, damit Sie es von Hand ergänzen können.

Warum verhält sich der umgewandelte Request anders als curl?

Meist wegen Redirects oder Standardwerten. curl folgt Redirects nur mit -L, während Playwright, REST Assured, Python requests und fetch ihnen standardmäßig folgen. Außerdem sendet curl einen POST-Body als Formulardaten, sofern Sie keinen Content-Type setzen. Prüfen Sie diesen Header, wenn die API den umgewandelten Request ablehnt.

Wird mein Befehl an einen Server gesendet?

Nein. Parsing und Codegenerierung laufen in Ihrem Browser, nichts wird hochgeladen oder protokolliert. Entfernen Sie trotzdem Tokens und Cookies, bevor Sie Befehle in geteilte Bugreports oder Code einfügen.

Tippen Sie, um SDETRole zu durchsuchen.

Volltextsuche mit Pagefind · läuft in Ihrem Browser Suchseite öffnen →