Über dieses Tool
Aus einer Beispiel-Response Assertions zu machen ist mechanische Arbeit: das JSON durchgehen, je Feld eine Erwartung schreiben, die richtige Zugriffssyntax für Keys mit Bindestrichen oder Punkten finden und den passenden Matcher für null und Arrays wählen. Dieser Builder listet jedes Feld der Response auf (Arrays einmal für eine Längenprüfung und über ihr erstes Element), lässt Sie die relevanten auswählen und erzeugt Code für Playwright (await expect(response).toBeOK() und expect(body.user.id).toBe(42)), Postman (pm.test mit pm.expect), REST Assured (then().statusCode(200).body("user.id", equalTo(42))) und Cypress (cy.request mit .its()). Wählen Sie exakte Werte für stabile Felder oder reine Typprüfungen für Werte, die sich zwischen Läufen ändern, etwa IDs und Zeitstempel.
So funktioniert es
- Fügen Sie eine Beispiel-Response als JSON ein und legen Sie Methode, URL und erwarteten Status fest.
- Wählen Sie die zu prüfenden Felder. Die ersten zehn sind vorausgewählt; mit „All“ oder „None“ ändern Sie das schnell.
- Wählen Sie ein Framework und Wert- oder Typprüfungen und kopieren Sie den erzeugten Code in Ihren Test.
FAQ zu API Assertion Builder
Soll ich exakte Werte oder nur Typen prüfen?
Prüfen Sie exakte Werte bei Feldern, die Ihr Test steuert oder die stabil sind (Status, Rolle, Währung). Verwenden Sie reine Typprüfungen bei erzeugten oder zeitabhängigen Werten (IDs, Zeitstempel, Tokens), sonst bricht der Test bei jedem Lauf.
Warum vergleicht REST Assured Dezimalzahlen als 12.5f?
Standardmäßig liefert JsonPath in REST Assured Dezimalzahlen als Float, und equalTo(12.5) aus Hamcrest mit einem Double würde nicht auf einen Float passen. Ist Ihr Projekt per JsonPathConfig auf Double oder BigDecimal konfiguriert, passen Sie das Literal entsprechend an.
Warum fügt der Cypress-Code failOnStatusCode: false hinzu?
cy.request lässt den Test bei 4xx- und 5xx-Responses standardmäßig fehlschlagen. Wenn Sie einen Fehlerstatus erwarten, lässt die Option den Request durchlaufen, damit Sie Status und Body prüfen können.