Postman API Testing
Postman ist ein weit verbreitetes Tool für das manuelle und automatisierte Testen von APIs, das Collections, Environments, Tests und CI/CD Integration bietet.
Kompakte Beschreibung
Wer mit APIs arbeitet, kommt an Postman vermutlich nicht vorbei. Natürlich gibt es noch andere Softwareprodukte, aber Postman ist einfach zu nutzen und wird daher auch sehr oft innerhalb der Ausbildung vorgestellt.
Und egal, wie gut die API-Dokumentation ist, mit Postman kann man Endpunkte immer prüfen, ohne Code schreiben zu müssen.
Postman ist eine Anwendung für den Bau, das Testen und die Dokumentation von APIs. Mit Postman kannst Du HTTP-Anfragen erstellen, Parameter und Header verwalten, Antworten inspizieren und Testskripte schreiben. Collections erlauben es, mehrere Requests zu gruppieren und zu organisieren. Environments speichern Variablen wie URLs, Token oder IDs, sodass Du zwischen Entwicklungs-, Test- und Produktivumgebungen wechseln kannst. Mit der Test-Feature kannst Du Assertions in JavaScript definieren, die Statuscodes, Response-Zeiten, Header oder JSON-Body prüfen. Newman ist die Kommandozeilenvariante von Postman und ermöglicht es, Collections in CI/CD-Pipelines auszuführen. Postman unterstützt auch Mock-Server, Monitore und die Zusammenarbeit in Teams. Für professionelle API-Entwicklung ist Postman ein unverzichtbares Werkzeug, um APIs während der Entwicklung und im Betrieb zuverlässig zu testen.
Wichtige Komponenten
Collections
Eine Collection ist eine Gruppe von Requests in Postman. Du kannst Anfragen nach Endpunkten, Features oder Testfällen strukturieren. Collections lassen sich exportieren, importieren, versionieren und teilen. Sie sind die Grundlage für dokumentierte und wiederholbare Tests.
Requests
Ein Request in Postman besteht aus HTTP-Methode, URL, Header, Body und Parametern. Postman unterstützt alle gängigen Methoden und Formate wie JSON, Form-Data, x-www-form-urlencoded und Binary. Für jede Anfrage kannst Du die Response im gleichen Fenster betrachten.
Environments
Environments enthalten Variablen, die sich zwischen unterschiedlichen Ausführungskontexten ändern. Typische Variablen sind baseUrl, apiKey, authToken oder userId. Mit Environments kannst Du dieselbe Collection gegen Entwicklung, Staging und Produktion laufen lassen, ohne Requests zu duplizieren.
Variables
Postman bietet mehrere Ebenen von Variablen: Global, Collection, Environment, Data und Local.
Variablen werden mit doppelten geschweiften Klammern referenziert, beispielsweise {{baseUrl}}.
Sie ermöglichen flexible und wiederverwendbare Tests.
Pre-Request Scripts
Pre-Request Scripts werden vor dem Absenden einer Anfrage ausgeführt. Du kannst damit Variablen setzen, Token erzeugen, Timestamps generieren oder Daten dynamisch aufbereiten. Sie sind nützlich für vorbereitende Schritte, die nicht im Test selbst erfolgen sollen.
Tests
Postman Tests sind JavaScript Snippets, die nach dem Request ausgeführt werden. Sie prüfen beispielsweise, ob der Statuscode 200 ist, ob ein Feld im Response vorhanden ist oder ob die Antwortzeit unter einem Limit liegt. Tests werden in der Tests-Tab eines Requests geschrieben.
Chaining
Chaining bedeutet, dass Du Werte aus einer Response extrahierst und in einer nachfolgenden Anfrage verwendest. Beispielsweise speicherst Du eine ID aus einem POST Response in einer Variable und nutzt sie in einem anschließenden GET Request. Das ermöglicht realistische Workflows.
Newman
Newman ist die Kommandozeilenversion von Postman. Er führt Collections aus und generiert Berichte. Newman ist ideal für CI/CD-Pipelines, weil er Tests automatisiert und Ergebnisse in verschiedenen Formaten wie HTML, JSON oder JUnit ausgeben kann.
Monitore
Postman Monitore führen Collections in regelmäßigen Abständen aus und überwachen so die Verfügbarkeit und Korrektheit einer API. Sie eignen sich für einfaches API-Monitoring und können Alerts bei Fehlschlägen senden.
Mock-Server
Postman kann aus einer Collection einen Mock-Server erzeugen, der vordefinierte Antworten liefert. Das ist nützlich, um Clients zu entwickeln, wenn die echte API noch nicht fertig ist, oder um Testdaten bereitzustellen.
Team Collaboration
Postman bietet Workspaces, an denen Teams gemeinsam arbeiten können. Collections, Environments und APIs können geteilt, versioniert und kommentiert werden. Rollen und Berechtigungen steuern den Zugriff.
Praxisbeispiel
Ein Team testet die Benutzer-API einer Anwendung. Die Collection enthält Requests für Erstellung, Abruf und Aktualisierung eines Benutzers.
Schritt 1: Anlegen eines Benutzers:
POST {{baseUrl}}/users
Content-Type: application/json
{
"name": "Max Mustermann",
"email": "max@example.com"
}
Test im Response:
pm.test("Status code is 201", function () {
pm.response.to.have.status(201);
});
pm.test("Response contains user id", function () {
var jsonData = pm.response.json();
pm.expect(jsonData).to.have.property("id");
pm.environment.set("userId", jsonData.id);
});
Schritt 2: Abruf des Benutzers:
GET {{baseUrl}}/users/{{userId}}
Test:
pm.test("Status code is 200", function () {
pm.response.to.have.status(200);
});
pm.test("Email matches", function () {
var jsonData = pm.response.json();
pm.expect(jsonData.email).to.eql("max@example.com");
});
Schritt 3: Ausführung in der Pipeline mit Newman:
newman run user-api.collection.json -e staging.environment.json -r cli,html
So entsteht eine durchgängige Testkette, die manuell und automatisiert ausgeführt werden kann.
FAQ: Postman API Testing
1. Was ist Postman?
2. Was ist eine Postman Collection?
3. Was sind Environments in Postman?
4. Was sind Postman Tests?
5. Was ist Chaining in Postman?
6. Was ist Newman?
7. Wie integriert man Postman in CI/CD?
8. Was ist ein Postman Monitor?
9. Was ist ein Mock-Server in Postman?
10. Was sind Pre-Request Scripts?
11. Wie speichert man geheime Werte in Postman?
12. Was ist die Postman Console?
13. Kann man Postman für GraphQL nutzen?
14. Was sind Workspaces in Postman?
15. Was sind Best Practices für Postman Testing?
Quellen
- https://learning.postman.com/
- https://github.com/postmanlabs/newman
- https://www.postman.com/api-platform/api-testing/
Buchempfehlungen zum API Testing
Wenn Du Dich weiter mit Postman, API Testing und Testautomatisierung beschäftigen möchtest, empfehlen wir Dir die folgenden Bücher:
Keine Bücher für Kategorie "api-development" gefunden.