====== LU08a - Resultate auswerten ======
Mittels //tests// kann Postman die Antwort einer API automatisiert auswerten.
Im Reiter //scripts// kannst du mit Javascript eigene Funktionen schreiben, um das Resultat eines Requests auszuwerten.
Dadurch zeigt die Postman direkt an, ob der Request das erwartete Resultat liefert oder nicht.
===== http-Statuscode prüfen =====
Im einfachsten Fall will ich nur den http-Statuscode überprüfen:
pm.test("Status test", function () {
pm.response.to.have.status(200);
});
Diese Zeilen reichen schon, damit Postman den http-Statuscode überprüft.
Ein paar Erklärungen:
* "Status test" ist der Name meines Tests. Dieser wird im Testprotokoll angezeigt und sollte möglichst aussagekräftig sein.
* Ich prüfe hier ob die API mit Status **200** antwortet. Je nach Testfall würde ich unterschiedliche Statuscodes erwarten.
===== Daten in der Response prüfen =====
Wenn ein Request Daten von der API anfordert, wollen wir den Inhalt der Response überprüfen.
Schliesslich wollen wir nicht irgendwelche Daten lesen, sondern einen bestimmten Datensatz.
pm.test("Data test", function() {
pm.response.to.be.json;
const responseJson = pm.response.json();
pm.expect(responseJson.givenname).to.eql("Eva");
pm.expect(responseJson.age).to.eql(28);
});
In diesem Beispiel prüfen wir drei Elemente der Response-Daten:
* Die Response muss im JSON-Format sein (''pm.response.to.be.json;'')
* Der Vorname muss "Eva" sein (''pm.expect(responseJson.givenname).to.eql("Eva");'')
* Das Alter muss 28 sein (''pm.expect(responseJson.age).to.eql(28);'')
Trifft irgendeine dieser Bedingungen nicht zu, löst Postman eine Exception aus und zeigt den Request als fehlgeschlagen an.
Im [[https://learning.postman.com/docs/writing-scripts/test-scripts/|Postman Learning Center]] findest du noch weitere Beispiele und Möglichkeiten für Tests.
----
{{tag>M450-LU08}}
[[https://creativecommons.org/licenses/by-nc-sa/4.0/|{{https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png}}]] Marcel Suter