In diesem Tutorial lernst du die Grundlagen von Postman und wie du deinen ersten API-Test automatisierst, um ihn mit JavaScript zu überprüfen. Das Thema ist besonders wichtig, wenn Testautomatisierung in kontinuierliche Integrationsprozesse eingebunden werden soll. Du lernst die Basics und kannst am Ende des Tutorials einen Request schreiben, welcher mit JavaScript überprüft wird.
Postman: Plattform für API-Tests, Testautomatisierung und CI/CD-Integration
Das User Interface (UI) von Postman
Einen Workspace für API-Tests anlegen
Enviroments erstellen und verwenden: Optimierung für flexible Ap
Einstellung und Bearbeitung von API-Anfragen: Effizientes Testen und Automatisieren von Requests
Dein Erster API-Test: Schnell und einfach mit JavaScript automatisieren
Fazit & Ausblick: Postman für effiziente API-Tests und Automatiserung
Postman: Plattform für API-Tests, Testautomatisierung und CI/CD-Integration
Postman ist eine leistungsstarke Plattform für API-Tests und -Automatisierung, die es Entwickler*innen und QA-Teams ermöglicht, APIs zu entwerfen, zu testen und kontinuierlich zu verbessern. Sie wurde ursprünglich in San Francisco entwickelt und hat heute weltweit Büros, einschließlich eines Standorts in Bengaluru, Indien. Der Kern von Postman basiert auf Node.js, was es zu einer flexiblen und leistungsstarken Lösung für die Testautomatisierung macht.
Postman bietet eine Vielzahl an Funktionen:
- API-Repository: Eine zentrale Plattform, auf der API-Tests und -Artefakte gespeichert und innerhalb von Teams oder Partnernetzwerken geteilt werden können.
- API-Ersteller: Hilft beim Design von APIs mit Standards wie OpenAPI, GraphQL und RAML und bietet eine einfache Integration in CI/CD-Pipelines.
- Testautomatisierungs-Werkzeuge: Umfasst Funktionen für API-Tests, Mock-Server, API-Dokumentation und Test-Scripting.
- Analyse: Bietet erweiterte Funktionen zur API-Überwachung, Sicherheitswarnungen und API-Governance.
- Arbeitsbereiche (Workspaces): Ideal für Teams, die in öffentlichen, privaten oder Partner-Arbeitsbereichen zusammenarbeiten und API-Tests in Echtzeit durchführen wollen.
Die Postman Dokumentation und detaillierte Tutorials sind im Postman Learning Center (PLC) verfügbar. Das Tool kann hier kostenlos heruntergeladen und installiert werden.
Das User Interface (UI) von Postman
Das User Interface (UI) von Postman lässt sich in verschiedene Bereiche unterteilen, die jeweils spezifische Funktionen für API-Tests und die Testautomatisierung bieten. Eine Übersicht zu den wichtigsten Elementen und deren Funktionen ist hier zu finden:
Navigation - PLC. Wir führen dich durch die wichtigsten Bereiche im Postman UI.
Grüner Kasten:
Die oberste Bildschirmleiste
- Zurück- und Vorspringen: Navigiere durch die Ordnerstruktur vor und zurück.
-
Startseite: Kehre zum Startbildschirm zurück.
-
Workspace- oder API-Netzwerk-Auswahl: Öffne ein Dropdown-Menü, um Workspaces oder API-Netzwerke auszuwählen.
-
Netzwerke und öffentliche Postman-API-Netzwerke, Kurzbefehl:
Cmd + K
|Ctrl + K
. -
Einladung/ Freigabe zum Workspace: Lade Teammitglieder*innen ein oder gewähre Zugriff (Admin-Rechte erforderlich).
-
Einstellungen: Greife auf Postman-Einstellungen und weitere Ressourcen zu.
-
Benachrichtigungen: Zeige Benachrichtigungen zu Teamaktivitäten, Updates, Pull Requests, Kommentaren und weiteren wichtigen Informationen an.
-
Avatar: Öffne dein Profil und bearbeite es.
-
Teamübersicht: Erhalte Einsicht in genutzte Ressourcen und Abrechnungsdetails deines Teams.
Gelber Kasten
Die linke Seitenleiste zeigt Optionen für den aktuell ausgewählten Workspace und die zentralen Elemente von Postman:
-
Collections: Hier sind alle Ordner und Requests vom aktuellen Workspace organisiert. Mehrere Objekte können durch Drücken von
Cmd
|Ctrl
ausgewählt und verschoben werden.
Collections - PLC -
Environments: Verwalte Variablen für unterschiedliche Umgebungen in tabellarischer Form. Verschiedene Environments können z.B. für Produkt-IDs, Zugangsdaten oder länderspezifische Parameter genutzt werden, um die Requests einer Collection dynamisch anzupassen.
Environments & Variables - PLC -
History: Zeige alle ausgeführten API-Requests an. Diese können in Collections gespeichert, gelöscht, überwacht, dokumentiert oder als Grundlage für einen Mock-Server genutzt werden.
-
Konfiguration: Passe die Sidebar an, indem du zusätzliche Funktionen oder Darstellungen aktivierst.
-
Über die Buttons
New
undImport
können Daten wie Collections und Environments in den aktuellen Workspace geladen werden
Datenimport - PLC.
Roter Kasten
Oberhalb der Workbench finden sich wichtige Werkzeuge und Einstellungen:
-
Tab-Ansicht: Geöffnete API-Anfragen werden als Tabs dargestellt. Ein orangefarbener Punkt signalisiert nicht gespeicherte Änderungen, die mit
Cmd + S
|Ctrl + S
gespeichert und mit dem Team synchronisiert werden können. -
Neuer Test: Über das Plus-Symbol kann eine neue API-Anfrage gestartet werden. Bestehende Anfragen können kopiert und angepasst werden, um wiederkehrende Elemente wie z.B. Header effizient wieder zu verwenden.
-
Suchfunktion: Für eine Suche innerhalb der geöffneten API-Anfragen.
-
Environment-Auswahl: Wähle das aktuelle Environment aus dem Variablen für die Anfrage genutzt werden.
-
Variablenanzeige: Das letzte Symbol ganz rechts zeigt einen schnellen Überblick über die Variablen des aktuell gewählten Environments.
Blauer Kasten: Der zentrale Arbeitsbereich (Workbench) zeigt die Inhalte des ausgewählten Elements aus der Tab-Leiste darüber. Abhängig vom Element (z. B. Request, Collection, Environment) wird eine angepasste Benutzeroberfläche angezeigt, die spezifische Bearbeitungsoptionen bietet.
Workbench - PLC
Einen Workspace für API-Tests anlegen
In Postman arbeitest du mit Workspaces, um deine API-Tests zu organisieren. Ein Workspace dient als der zentrale Punkt, an dem du alle Testressourcen speicherst und verwaltest. Du kannst einen neuen Workspace über das Dropdown-Menü in der oberen Leiste erstellen. Hier legst du fest, ob der Workspace privat, öffentlich oder mit bestimmten Teammitglieder*innen geteilt werden soll.
Schritt 1: Vorlage für den Workspace auswählen
Im ersten Schritt kannst du eine geeignete Vorlage für dein Projekt wählen. Die verfügbaren Templates erscheinen übersichtlich in der Mitte des Bildschirms, wobei jedes Template mit einer kurzen Erklärung versehen ist. Dies hilft dir, schnell die beste Vorlage für die spezifischen Anforderungen deines Projekts auszuwählen.
Schritt 2: Workspace Namen und Zugriffsrechte festlegen
Im zweiten Schritt gibst du dem neuen Workspace einen aussagekräftigen Namen und legst die entsprechenden Zugriffsrechte fest. Du kannst bestimmen, ob der Workspace privat, öffentlich oder nur für bestimmte Teammitglieder*innen zugänglich ist. Diese Funktion ermöglicht es dir, den Zugriff auf sensible QA-Daten präzise zu steuern und den Workspace nach Bedarf anzupassen.
Hinweis: Sowohl der Name als auch die Zugriffsrechte des Workspaces können jederzeit angepasst werden, sofern du über Admin-Rechte verfügst. Dies bietet maximale Flexibilität, um den Workspace an geänderte Projektanforderungen anzupassen.
Environments spielen eine zentrale Rolle beim Testen von APIs, insbesondere in Verbindung mit Variablen. Sie ermöglichen es, unterschiedliche Konfigurationen zu verwenden, etwa um abweichende Anfragen an Test- und Produktivsysteme zu senden. Durch die Nutzung von Environment-Variablen können dynamische Werte je nach Umgebung (z. B. Test- oder Produktionsumgebung) angepasst werden.
Globale Environment-Variablen erstellen und verwenden
Globale Environment-Variablen eignen sich hervorragend für häufig genutzte Werte, die in verschiedenen API-Anfragen verwendet werden. Beispiele für globale Variablen sind:
- Basis-URLs (z.B. BASE_URL)
- Access-Tokens, die für mehrere API-Requests erforderlich sind
Diese Variablen können auch automatisch aus einem initialen Authentifizierungs-Request extrahiert und gespeichert werden (siehe dazu Punkt: Script-Reiter).
Neues Environment erstellen
Neue Environments können schnell und einfach erstellt werden. Verwende dazu das Plus-Symbol in der Environment-Verwaltung (gelbe Box) oder die New/Import Buttons (blaue Box). Einmal erstellt, können die Environments über das Dropdown-Menü in der rechten oberen Ecke ausgewählt werden, um für spezifische API-Requests eingesetzt zu werden. Dies ermöglicht eine präzise und flexible Verwaltung von Testumgebungen.
Erstellung und Bearbeitung von API-Anfragen: Effizientes Testen und Automatisieren von Requests
Die Erstellung einer API-Anfrage ist ein zentraler Bestandteil der API-Tests. Mit einer professionellen QA-Plattform können API-Requests schnell und einfach erstellt, angepasst und getestet werden. Es gibt zwei einfache Möglichkeiten, um eine neue API-Anfrage zu erstellen:
Neue API-Anfrage erstellen:
- Direkt in einem Collection-Ordner: Klicke mit der rechten Maustaste auf einen bestehenden Collection-Ordner und füge einen neuen Request innerhalb dieser Collection hinzu.
- Über das Plus-Symbol in der Workbench: Wenn du einen Collection-Ordner ausgewählt hast, kannst du über das Plus-Symbol auch direkt eine neue API-Anfrage erstellen.
API-Anfrage bearbeiten
Wenn du eine bereits erstellte API-Anfrage auswählst, öffnet sich in der Workbench eine detaillierte Ansicht mit allen relevanten Einstellungen und Optionen, die du für die Anfrage anpassen kannst.
Link: API Anfragen - PLC
Die wichtigsten Bereiche sind:
Request-Typ und URL: Wähle den HTTP-Methodentyp (z. B. GET, POST, PUT) und gib die Ziel-URL der API ein.
-
Pro-Tipp: Öffne in deinem bevorzugtem Browser (hier Chrome) die Developer-Tools, wähle den Network Tab, Suche den gewünschten Request und links-klicke auf diesen um “Copy as cURL” auszuwählen. Dieser kann direkt in die Textbox neben dem API-Typen eingefügt werden und sämtliche Parameter werden eingefügt. Diese können nun mit den Variablen aus den Environments ausgetauscht werden.
Darstellung des Workflows zum Kopieren einer bestimmtem cURL aus den Developer-Tools des Chrome Browsers.
-
Params-Reiter: Hier werden die URL-Parameter (z. B.
?a=1&b=2&c=3
) angezeigt, die automatisch eingefügt werden. Diese können nach Bedarf angepasst oder erweitert werden. -
Authorization-Reiter: Wähle die passende Autorisierungsmethode (z. B. Bearer Token oder Basic Auth). Die gewählte Methode wird automatisch in den Header der Anfrage integriert. Die Option, die Autorisierung von übergeordneten Anfragen zu übernehmen, spart zusätzlich Zeit.
-
Header-Reiter: Alle Header-Parameter der Anfrage werden hier angezeigt. Einige Header werden automatisch generiert und können durch einen Button ein- oder ausgeschaltet werden, um den Request anzupassen.
-
Body-Reiter: Definiere den Body der Anfrage, beispielsweise für JSON-Daten oder Anmeldeinformationen. Pro-Tipp: Nutze die Developer-Tools deines Browsers (z. B. Chrome), um die cURL-Anfrage direkt zu kopieren und in das Textfeld einzufügen. Alle Parameter werden automatisch übertragen und können mit Environment-Variablen ersetzt werden.
-
-
1 { 2 "login": "", 3 "password": "", 4 "rememberMe": true, 5 "grant_type": "password", 6 } Beispiel: Verwende Variablen wie
und
für Login-Daten. Diese Variablen können wie in Punkt 4 beschrieben erstellt und genutzt werden.
-
-
-
Scripts-Reiter: Im Script-Reiter kannst du JavaScript-Befehle hinzufügen, die entweder vor der Anfrage (Pre-request Scripts) oder nach der Antwort (Post-response Scripts) ausgeführt werden. Ein häufig genutztes Beispiel für ein Post-response Script wäre die Extraktion eines Access Tokens aus der Antwort im JSON-Format, das dann in der Collection gespeichert und für zukünftige Anfragen wiederverwendet werden kann.
1 | pm.collectionVariables.set("token", pm.response.json().access_token) |
Die vollständige Dokumentation bietet zahlreiche weitere Skriptmöglichkeiten, um den API-Testprozess zu automatisieren und zu optimieren. Scripts - PLC.
Dein Erster API-Test: Schnell und einfach mit JavaScript automatisieren
Mit nur wenigen Schritten kannst du deinen ersten API-Test erstellen und ausführen – und das alles mithilfe von JavaScript. In diesem letzten Abschnitt zeigen wir dir, wie du eine API-Anfrage erstellst, sie mit einer Environment-Variable verbindest und automatisch testest.
Erstelle ein neues Environment und speichere eine beliebige Variable
neues Environment mit Variable
- Neues Environment erstellen: Klicke auf "Environment erstellen" und speichere eine beliebige Environment-Variable.
- Speichern nicht vergessen: Drücke Cmd + S (Mac) bzw. Ctrl + S (Windows), um die Änderungen zu speichern.
- Environment auswählen: Achte darauf, dass du die neue Environment in der oberen rechten Ecke als aktive Environment auswählst, damit sie bei der Anfrage verwendet wird.
Erstelle eine Collection mit deinem API-Test
- Collection und Test benennen: Gib deiner Collection und dem Test aussagekräftige Namen, damit du und dein Team schnell erkennen, um welchen Test es sich handelt.
- HTTP-Methode auswählen: Wähle als HTTP-Methode „GET“.
- URL einfügen: Kopiere die folgende URL in die Eingabeleiste https://postman-echo.com/get?myQueryParameter=
Diese URL wird die übergebenen Daten als Response zurückgeben. In diesem Fall wird der Query-ParametermyQueryParameter
mit dem Wert der Environment-VariablemyEnvironmentVar
übermittelt. - Environment-Variable verwenden: Stelle sicher, dass die Schreibweise der Variablen sowohl im Environment als auch in der Anfrage exakt übereinstimmt. Dies wird durch die geschwungenen Klammern
angezeigt.
Erstelle ein Script für Automatisiertes Testen
- Wechsel zum Reiter „Scripts“: Gehe zum Post-response Tab in der Workbench.
- Code einfügen: Kopiere und füge folgenden JavaScript-Code ein:
1 |
// Füge deine Variable myEnvironmenVar aus der Umgebung hinzu |
2 |
let expectedValue = pm.environment.get("myEnvironmentVar"); |
3 |
|
4 |
// Parse die Antwort, die du von der API enthälts als JSON |
5 |
let response = pm.response.json(); |
6 |
|
7 |
// Prüfe, ob "myEnvironmentVar" dem erwarteten Wert entspricht |
8 |
pm.test("check if 'myEnvironmentVar' in response body matches requested variable", function () { |
9 |
pm.expect(response.args).to.have.property('myQueryParameter', expectedValue); |
10 |
}); |
Dieser Code liest die Antwort des Requests aus und überprüft, ob der Wert des Query-Parameters mit dem Wert der übergebenen Environment-Variable übereinstimmt.
Ergebnis überprüfen:
Du hast nun erfolgreich deinen ersten API-Test durchgeführt. Nachdem du auf Send klickst, wird der Request ausgeführt und die Antwort automatisch anhand deines Test-Scripts überprüft.
- Response einsehen: Nachdem der Test ausgeführt wurde, kannst du die komplette Response im Body-Reiter einsehen. Du wirst feststellen, dass der Wert des myQueryParameter in der Antwort mit dem Wert von
myEnvironmentVar
übereinstimmt. - Testbestätigung: Im Test Results-Reiter kannst du die Ergebnisse deines Tests einsehen. Dort wird dir bestätigt, dass die Variable korrekt übertragen wurde.
Fazit & Ausblick: Postman für effiziente API-Tests und Automatisierung
Postman bietet eine benutzerfreundliche Oberfläche und leistungsstarke Funktionen, die es Teams ermöglichen, APIs effizient zu organisieren, zu testen und zu optimieren. Mit der flexiblen Verwaltung von Projekt-Workspaces, Variablen und Environments können API-Tests präzise konzipiert, ausgeführt und detailliert analysiert werden. Dies sorgt für eine hohe Testeffizienz und die Möglichkeit, Tests für verschiedene Testumgebungen anzupassen.
Effizienz durch Variablen und Environments
Die Verwendung von Variablen und Environments ermöglicht es, API-Tests flexibel zu gestalten und effizient auf unterschiedliche Testumgebungen anzuwenden. Dies reduziert den manuellen Aufwand und optimiert den gesamten Testprozess, da Testergebnisse schnell und zuverlässig wiederholt werden können.
Automatisierung von API-Tests
Für uns bei Appmatics bildet Postman eine Grundlage für die Automatisierung von API-Tests. Durch die Möglichkeit, regelmäßige Testläufe oder Lasttests automatisiert durchzuführen, werden wiederkehrende Tests in einem kontinuierlichen Integrationsprozess (CI) nahtlos in den Entwicklungszyklus integriert. Postman ermöglicht uns, APIs zusammen zu testen und Tests effizient zu skalieren, was zu schnellerer Fehlererkennung und einer insgesamt verbesserten Softwarequalität führt.
CI-Integration für nahtlose Entwicklungsprozesse
Besonders hervorzuheben ist die Möglichkeit, komplette Collections zu exportieren. Dies vereinfacht die Integration von API-Tests in automatisierte CI/CD-Pipelines, beispielsweise in GitLab CI-Pipelines, und sorgt für nahtlose Entwicklungs- und Testprozesse. Diese nahtlose Integration reduziert manuelle Interventionsprozesse und sorgt für kontinuierliche Qualitätssicherung während der gesamten Entwicklungsphase.
CI Integration - PLC
Postman: Ein unverzichtbares Tool für API-Entwicklung und -Optimierung
Mit seiner umfassenden Funktionalität bleibt Postman ein unverzichtbares Tool für jedes Unternehmen, das APIs entwickelt, testet und optimiert. Die flexiblen Anpassungsmöglichkeiten und die Automatisierungsfunktionen machen es zu einem zentralen Bestandteil eines jeden erfolgreichen QA-Workflows.