Zum Inhalt springen
SDETRole
SDETRole

API-Testing

API Payload Generator

Aus JSON Schema oder Beispiel gültige und negative Payloads erzeugen.

Läuft vollständig in Ihrem Browser Ohne Anmeldung

JSON Schema or sample payload

0 chars

Valid payload

Über dieses Tool

Negativtests für einen Endpoint bedeuten, denselben Body viele Male mit genau einem Fehler zu senden. Diese Varianten von Hand zu schreiben dauert, und man vergisst leicht eine. Fügen Sie ein JSON Schema ein: Das Tool wertet die Keywords type, required, enum, minimum/maximum, minLength/maxLength, format und items aus, baut daraus einen gültigen Payload und leitet je Regel eine Variante ab: jedes Pflichtfeld entfernt, jedes Feld mit falschem Typ oder null, Strings ein Zeichen außerhalb ihrer Längengrenzen, Zahlen einen Schritt außerhalb ihres Bereichs, ein ungültiger Enum-Wert, fehlerhafte E-Mails und Datumswerte, eine zusätzliche unbekannte Property und ein leeres Objekt. Fügen Sie stattdessen einen Beispiel-Body ein, gilt jedes vorhandene Feld als Pflichtfeld, und Formate werden aus den Werten abgeleitet. $ref, allOf/anyOf/oneOf und pattern werden nicht aufgelöst; prüfen Sie diese Felder selbst.

So funktioniert es

  1. Fügen Sie ein JSON Schema oder einen echten Request-Body ein oder laden Sie ein Beispiel. Die automatische Erkennung entscheidet, was es ist; bei Bedarf überschreiben Sie das mit dem Schalter.
  2. Kopieren Sie den gültigen Payload für Ihren Happy-Path-Test.
  3. Filtern Sie die Negativvarianten nach Kategorie, klappen Sie eine Variante auf, um sie zu prüfen oder zu kopieren, oder exportieren Sie alle als JSON-Array aus {name, payload} für einen datengetriebenen Test.

FAQ zu API Payload Generator

Was ist ein API-Payload?

Ein API-Payload sind die Daten im Body eines Requests oder einer Response, bei REST-APIs meist JSON. Ein Request POST /users könnte zum Beispiel {"name": "Asha", "email": "asha@example.com"} senden. Methode, URL und Header beschreiben den Request; der Payload ist sein Inhalt. Im Test sind Request-Payloads Ihre Eingaben und Response-Payloads das, worauf Sie Assertions schreiben. Beide müssen also dem API-Vertrag entsprechen.

Wie erzeuge ich JSON-Payloads für API-Tests?

Beginnen Sie beim API-Vertrag. Fügen Sie dessen JSON Schema oder einen echten Request-Body in diesen Generator ein. Er erzeugt einen gültigen Payload plus je Regel eine Negativvariante: ein fehlendes Pflichtfeld, ein falscher Typ, ein Wert außerhalb des Bereichs, ein ungültiger Enum-Wert und mehr. Exportieren Sie sie als JSON und iterieren Sie in Ihren Tests darüber. Für realistische Werte in großer Menge nutzen Sie den Testdaten-Generator; fertige Beispiele finden Sie in den Beispiel-JSON-Payloads.

Was sollte ein POST-Request-Payload enthalten?

Genau das, was der API-Vertrag zum Anlegen der Ressource verlangt: jedes Pflichtfeld mit korrektem Typ und Format, dazu alle optionalen Felder, die für das Szenario relevant sind. Vom Server erzeugte Felder wie id oder createdAt gehören nicht hinein, sofern die API sie nicht erwartet. Senden Sie ihn mit dem Header Content-Type: application/json. Ein erfolgreiches Anlegen liefert meist 201 Created mit der neuen Ressource oder einem Location-Header; ein ungültiger Payload sollte 400 oder 422 mit einer klaren Fehlermeldung liefern.

Wie erstelle ich Payloads für Negativtests?

Nehmen Sie einen gültigen Payload und machen Sie pro Test genau eine Sache kaputt, damit ein Fehlschlag auf eine einzige Regel zeigt. Typische Varianten: jedes Pflichtfeld entfernen, falschen Typ oder null senden, Längen- oder Zahlengrenzen um eins überschreiten, einen ungültigen Enum-Wert oder eine fehlerhafte E-Mail verwenden, eine unbekannte Property hinzufügen und ein leeres Objekt senden. Jede Variante sollte mit einem 4xx-Status und einer hilfreichen Fehlermeldung abgelehnt werden, niemals mit 500. Dieser Generator leitet diese Varianten automatisch aus einem Schema ab.

Welche JSON-Payload-Formate sind üblich?

Die meisten REST-APIs verwenden ein JSON-Objekt, oft mit verschachtelten Objekten wie einem User mit address. Weitere gängige Formen sind Arrays von Objekten für Bulk-Operationen, Envelopes, die Ergebnisse in data- und meta-Felder verpacken, GraphQL-Requests mit query und variables sowie RFC-9457-Problem-Details für Fehler mit type, title, status und detail. Realistische Request- und Response-Bodies finden Sie in der Bibliothek Beispiel-JSON-Payloads.

Kann ich zufällige Testdaten für API-Tests erzeugen?

Ja. Zufallsdaten finden Bugs, die handverlesene Werte übersehen, sollten aber reproduzierbar sein. Der Testdaten-Generator erzeugt mit Faker realistische Namen, E-Mails, Adressen, UUIDs, Zahlen und Datumswerte, und ein fester Seed liefert jedes Mal dieselben Daten, sodass sich ein fehlschlagender Test wiederholen lässt. Faker-Bibliotheken für JavaScript und Python oder Datafaker für Java leisten dasselbe direkt in Ihren Tests. Für Strings mit Grenzfällen nutzen Sie den Teststring-Generator.

Welchen Statuscode sollten die Negativ-Payloads auslösen?

Meist 400 Bad Request oder 422 Unprocessable Content, mit einem Fehler-Body, der das Feld benennt. Was immer die API dokumentiert: Es sollte über alle Endpoints einheitlich sein, und keine dieser Varianten darf je eine 500 auslösen.

Wie verwende ich das exportierte JSON in einem Test?

Laden Sie das Array und iterieren Sie darüber: in Playwright mit for (const { name, payload } of variants) test(name, ...), in JUnit 5 mit @MethodSource oder @ParameterizedTest und einer JSON-Quelle, in Postman als Datendatei für den Collection Runner.

Warum wird „Null value“ für manche Felder nicht erzeugt?

Erlaubt das Schema null für ein Feld (type: ["string", "null"] oder null im Enum), ist null ein gültiger Wert und damit kein Negativfall.

Tippen Sie, um SDETRole zu durchsuchen.

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