Wie kann ich in Postman mehrere Anfragen automatisiert in einer Collection ausführen?
- Einführung
- Grundlagen von Collections und dem Runner
- Schritte zum automatisierten Ausführen einer Collection mit mehreren Anfragen
- Pre-Request Scripts und Test-Scripts
- Automatisierung über die Kommandozeile mit Newman
- Zusammenfassung
Einführung
Postman ist ein beliebtes Tool zum Testen von APIs, das neben Einzelanfragen auch das Gruppieren und Ausführen mehrerer Requests in sogenannten Collections erlaubt. Diese Collections können eine Reihe von Anfragen enthalten, die nacheinander ausgeführt werden. Um mehrere Anfragen automatisiert und sequentiell in einer Collection auszuführen, bietet Postman verschiedene Ansätze an, die je nach Anwendungsfall mehr oder weniger gut geeignet sind.
Grundlagen von Collections und dem Runner
Eine Collection in Postman ist eine Sammlung von API-Anfragen, die organisiert und verwaltet werden können. Um mehrere Anfragen hintereinander auszuführen, nutzt man den Postman Collection Runner. Dieser stellt sicher, dass alle Anfragen der Collection sequentiell ausgeführt werden, wobei man optional Daten eingeben und Skripte für Tests und Vorbedingungen verwenden kann.
Schritte zum automatisierten Ausführen einer Collection mit mehreren Anfragen
Zunächst erstellt man eine Collection und fügt alle gewünschten Anfragen hinzu. Dabei ist es sinnvoll, vorherzuüberlegen, ob die Anfragen unabhängig voneinander sind oder ob sie Daten untereinander austauschen sollen. Danach öffnet man in Postman den Collection Runner, indem man auf die entsprechende Collection klickt und dann auf den Button Run oder Runner. Es öffnet sich ein neues Fenster, in dem man die Collection ausführen kann.
Im Collection Runner kann man neben der Auswahl der Collection auch verschiedene Optionen einstellen. Zum Beispiel kann man eine Datenquelle (typischerweise eine CSV- oder JSON-Datei) laden, welche dynamische Werte für die Anfragen enthält. Dadurch können Tests mit unterschiedlichen Parametern in einem Durchlauf automatisiert durchgeführt werden.
Nach dem Start läuft Postman alle Anfragen nacheinander ab und zeigt übersichtlich die Ergebnisse an. Fehler in einzelnen Anfragen bremsen den Ablauf standardmäßig nicht, man kann aber mit Skripten in den Tests das Verhalten beeinflussen.
Pre-Request Scripts und Test-Scripts
Um den Ablauf der Anfragen noch besser zu steuern, bietet Postman sogenannte Pre-Request Scripts, die vor dem Absenden einer Anfrage ausgeführt werden. Dort kann man beispielsweise Variablen setzen oder Authentifizierungstoken aktualisieren. Nach der Anfrage können Test-Scripts eingesetzt werden, um das Ergebnis zu validieren und gegebenenfalls Variablen zu aktualisieren, die in der nächsten Anfrage gebraucht werden.
Auf diese Weise lässt sich ein komplexer Ablauf mit abhängigen Anfragen realisieren, bei dem z. B. ein Token aus einer Antwort ausgelesen und für die nächste Anfrage weiterverwendet wird. Die Variablen, die in den Skripten gesetzt und gelesen werden, sind Collections- oder Umgebungsvariablen.
Automatisierung über die Kommandozeile mit Newman
Wenn man die Collection nicht nur manuell, sondern komplett automatisiert und auch außerhalb der Postman GUI ausführen möchte, bietet sich das Tool Newman an. Newman ist ein Kommandozeilen-Runner für Postman-Collections und kann sowohl eine einzelne Collection als auch mehrere Collections in Skripten und CI/CD-Pipelines ausführen.
Um Newman zu verwenden, exportiert man die gewünschte Collection aus Postman als JSON-Datei, installiert Newman über npm (Node Package Manager) mit npm install -g newman und führt dann den Befehl newman run pfad/zur/collection.json aus. Optional kann man Umgebungen, Datenquellen und verschiedene Reportformate angeben.
Zusammenfassung
Zusammenfassend ermöglichen Postman Collections das strukturierte und automatisierte Ausführen mehrerer API-Anfragen hintereinander. Die einfachste Methode ist die Verwendung des eingebaute Collection Runner innerhalb der Postman-App, welcher problemlos mehrere Anfragen sequenziell abarbeitet. Für komplexere Abläufe kann man Pre-Request und Test Scripts zur Steuerung und Datenübergabe verwenden. Für vollautomatische oder wiederkehrende Runs außerhalb der GUI ist Newman als Kommandozeilen-Tool die beste Wahl.
Durch diese Möglichkeiten ist Postman sehr flexibel und kann sowohl für manuelle Tests als auch für automatisierte Testprozesse in professionellen Workflows genutzt werden.
