So testen und spielen Sie mit Web-APIs auf einfache Weise mit Postman

In einer Welt, in der statische Websites und Apps zunehmend von separat verwalteten APIs abhängen, kann es schwierig sein, herauszufinden, wie sie funktionieren, wenn Sie nur im Browser herumspielen.

Wie können wir Postman verwenden, um unsere vorhandenen APIs zu testen und zu verstehen, wie sie funktionieren?

  • Was ist Postbote?
  • Was werden wir bauen / lernen?
  • Teil 0: Einrichten mit Postman
  • Teil 1: Eine Einführung in Postman
  • Teil 2: Erstellen einer neuen Postman-Anfrage, um Informationen über Squirtle zu erhalten
  • Teil 3: Erstellen einer Sammlung von Anfragen in Postman für das PokéAPI
  • Teil 4: POST-Anfragen mit Postman stellen, um Sätze so zu übersetzen, dass sie wie Yoda klingen
  • Teil 5: Authentifizieren von Anfragen an die Lord of the Rings-API mit einem API-Schlüssel

Was ist Postbote?

Postman ist ein Tool, mit dem Teams APIs mithilfe benutzerfreundlicher Konfigurationen zuverlässig testen können. Es enthält zahlreiche Funktionen, die Sie beim Umgang mit APIs erwarten würden, darunter Authentifizierung, Festlegen von Headern, Anpassen der Nutzdaten und vieles mehr, um die Reibung bei der Verwendung einer API zu verringern.

Und das nicht nur zum Testen. Das Schöne ist, dass dies für viele Aspekte der Arbeit mit APIs für viele verschiedene Mitglieder des Teams verwendet werden kann. Vielleicht möchte ein Projektmanager überprüfen, ob die Dinge funktionieren, oder es einfacher finden, Änderungen direkt mit der API vorzunehmen, oder ein QS-Ingenieur muss sicherstellen, dass alles noch funktioniert, oder ein Entwickler möchte aktiv Änderungen vornehmen, während er an der API selbst arbeitet .

Das Beste daran: Postman bietet Funktionen für die Zusammenarbeit. Die kostenlose Stufe umfasst das Exportieren und Importieren von Sammlungen gespeicherter API-Anforderungen sowie das Erstellen freigegebener Links. Wenn Sie Teil eines Teams sind, haben diese Stufen bezahlt, mit denen Sie Ihre Sammlungen synchronisieren können, um sicherzustellen, dass jeder über die neueste und aktuellste Sammlung verfügt.

Was werden wir bauen / lernen?

Wir werden zwei verschiedene Beispiel-APIs durchgehen, um die Konzepte von Postman zu behandeln.

Zunächst werden einige einfache HTTP-Anforderungen mit einer öffentlichen API für Pokémon behandelt.

Anschließend verwenden wir die Yoda Translator-API für einen Teil, um zu demonstrieren, wie bestimmte HTTP-Anforderungen gestellt werden.

Sobald wir verstanden haben, wie die Grundlagen funktionieren, werden wir die Lord of the Rings-API verwenden, um zu erfahren, wie die Authentifizierung mit APIs funktioniert. Dazu müssen Sie sich für ein kostenloses Konto für einen API-Schlüssel registrieren.

Teil 0: Einrichten mit Postman

Bevor wir beginnen, benötigen Sie Postman, um diese exemplarische Vorgehensweise zu befolgen. Die gute Nachricht ist, dass Postman kostenlos für Mac, Windows und Linux verfügbar ist. Sie sollten also in der Lage sein, eine für Sie geeignete Version zu finden.

Holen Sie sich Postman: //www.postman.com/downloads/

Gehen Sie nach dem Herunterladen die Standardinstallationsanweisungen durch, öffnen Sie sie und wir sollten bereit sein!

Teil 1: Eine Einführung in Postman

Wenn Sie Postman zum ersten Mal öffnen, wird Ihnen sofort ein Launchpad mit einer Reihe von Optionen angezeigt, mit denen Sie beginnen können.

Es mag ein bisschen überwältigend erscheinen, aber lassen Sie uns einige der Schlüsselkonzepte aufschlüsseln, die wir kennen müssen.

Anfragen

Eine Anfrage ist so, wie es sich anhört, es ist eine bestimmte API-Anfrage. Dies ist eine einzelne Art von Anforderung, unabhängig davon, ob es sich um einen GET oder einen POST an einen bestimmten Endpunkt handelt. Sie möchten für jeden Endpunkttyp neue Anforderungen erstellen, mit denen Sie beim Testen zwischen diesen wechseln können.

Sammlungen

Eine Sammlung ist eine Gruppe von Anforderungen. Dies ist praktisch, um Ihre Anfragen in verschiedene Gruppen zu organisieren. Dies kann so einfach sein wie zwei völlig unterschiedliche APIs (z. B. Twitter vs Slack) oder zwei verschiedene Gruppen von APIs für eine einzelne API (z. B. Twitter Tweets API vs Twitter Accounts API).

Genehmigung

Bei der Autorisierung werden Anforderungen mit einer API authentifiziert, sei es von einer Person, die eine Anfrage stellt, oder von einem Computer, der diese Anfrage in Ihrem Namen stellt. Dies erfolgt üblicherweise in Form eines API-Schlüssels, der ein statischer Wert sein kann, der Ihrem Konto zugewiesen oder mit Tools wie OAuth dynamisch generiert wird.

Umgebungen

In Umgebungen können Sie Ihre Endpunkte so konfigurieren, dass bestimmte Variablen verwendet werden, die es einfacher machen, dieselben Endpunkte zwischen verschiedenen Umgebungen zu verwenden. Beispielsweise haben Sie möglicherweise in /profileIhrer Produktions- und Entwicklungsumgebung denselben Endpunkt, diese haben jedoch unterschiedliche Domänen. In Umgebungen können Sie eine einzelne Anforderung mit einer variablen Domäne verwalten.

Arbeitsbereiche

Wir werden in diesem Beitrag nicht zu weit in die Arbeitsbereiche gehen, aber Sie können damit verschiedene Sammlungssätze verwalten und organisieren. Stellen Sie sich vor, Sie möchten Postman sowohl für die Arbeit als auch für ein persönliches Projekt verwenden und haben möglicherweise einen Arbeitsarbeitsbereich sowie einen persönlichen Arbeitsbereich.

In diesem Artikel werden Anfragen, Sammlungen und Autorisierungen behandelt.

Teil 2: Erstellen einer neuen Postman-Anfrage, um Informationen über Squirtle zu erhalten

Nachdem wir die verschiedenen Begriffe besser verstanden haben, erstellen wir tatsächlich eine Anfrage.

Oben links auf der Benutzeroberfläche sollte eine orangefarbene Schaltfläche mit der Aufschrift " Neu" angezeigt werden . Klicken Sie darauf und wählen Sie dann Anfordern .

Bevor wir auf die Anfrage selbst eingehen, werden einige Dinge angefordert.

Das erste, was benötigt wird, ist ein Name. Wir werden zunächst Informationen über den Pokémon Squirtle anfordern. Nennen wir diesen „Pokémon - Squirtle“.

Es ist auch eine Sammlung erforderlich. Klicken Sie also auf Sammlung erstellen und nennen Sie die Sammlung "Mein Lieblingspokémon".

Klicken Sie auf das orangefarbene Häkchen neben dem Sammlungsnamen und klicken Sie dann auf Speichern .

An diesem Punkt haben wir eine neue Anfrage, also lassen Sie uns diese Anfrage erstellen.

Es gibt zwei Dinge, die wir zuerst für unsere erste Anfrage ausfüllen müssen:

  • Anfragetyp: GET, POST, PUT usw. - wir verwenden GET
  • Anforderungs-URL: Der Endpunkt für Ihre API-Anforderung - für unsere Anforderung verwenden wir //pokeapi.co/api/v2/pokemon/squirtle/

Und sobald Sie sicher sind, dass diese korrekt sind, können Sie einfach auf die blaue Schaltfläche Senden rechts klicken und wir haben unsere erste Anfrage erfolgreich gestellt!

Wir bekommen sofort ein paar Dinge, die wir sehen können:

  • Body: Unten sollte nun der Antworttext der API-Anfrage angezeigt werden. Für unsere Squirtle API, sollten wir ein JSON - Objekt mit Daten wie haben abilities, base_experienceund forms.
  • Status: Auf der rechten Seite sollte der HTTP-Statuscode angezeigt werden. "200 Ok" ist ein gutes Zeichen und bedeutet, dass es erfolgreich war!
  • Zeit: einfach, wie lange die Anfrage gedauert hat
  • Größe: Die Größe der Antwortdaten in KB (in unserem Beispiel)

Sie können auch mit der Maus über Status, Zeit und Größe fahren und sich die einzelnen Optionen genauer ansehen.

Also haben wir unsere erste Anfrage gemacht!

Bevor wir fortfahren, sollten Sie feststellen, dass unsere Anfrage wie in einem Browser-Tab aussieht. Wenn wir mit dieser speziellen Anfrage fertig sind, können wir die Registerkarte schließen und auf Speichern klicken , um sicherzustellen, dass alle unsere Änderungen für das nächste Mal verfügbar sind!

Teil 3: Erstellen einer Sammlung von Anfragen in Postman für das PokéAPI

Nachdem wir eine Anfrage erstellt haben, erstellen wir eine Sammlung davon. Technisch mussten wir bereits eine neue Sammlung für Teil 2 erstellen, aber wir werden eine neue erstellen, um zu erfahren, wie Sammlungen selbst funktionieren.

Klicken Sie oben links auf der Benutzeroberfläche erneut auf die orangefarbene Schaltfläche Neu und wählen Sie Sammlung .

Ähnlich wie bei einer Anfrage wird nach einem Namen gefragt. Nennen wir dies "PokéAPI". Optional können Sie eine Beschreibung hinzufügen und dann unten auf Erstellen klicken .

Auf der linken Seite sehen Sie jetzt Ihre Sammlung. Sie können den Ordner auswählen und erweitern, da wir damit arbeiten werden.

Bevor wir eine Anfrage hinzufügen, hat das PokéAPI verschiedene Arten von Anfragen, daher ist es sinnvoll, diese etwas gründlicher zu organisieren. Klicken Sie also auf die drei Punkte neben der PokéAPI-Sammlung und wählen Sie Ordner hinzufügen .

Ähnlich wie bei den anderen wird hier nach einem Namen gefragt. Ordner ähneln Sammlungen innerhalb einer Sammlung, sodass Sie ähnliche Optionen erhalten. Nennen wir dieses eine "Pokémon" und klicken Sie wie zuvor auf die orangefarbene Schaltfläche " Speichern" .

Fügen wir nun unsere Anfragen hinzu! Klicken Sie zuerst auf die drei Punkte neben dem Pokémon-Ordner, ähnlich wie wir der Sammlung einen Ordner hinzugefügt haben. Wählen Sie diesmal jedoch Anfrage hinzufügen .

Nennen wir diese Anfrage "Pokemon". Während es verwirrend sein kann, dass wir eine Pokemon-Anfrage im Pokémon-Ordner haben, ist Pokemon nur einer der Endpunkte der Pokémon-Gruppe.

Verwenden wir jetzt genau die API, die wir zuvor für unsere Squirtle-Anfrage verwendet haben:

  • Anfragetyp: GET
  • URL anfordern : //pokeapi.co/api/v2/pokemon/squirtle/

Und ähnlich wie zuvor sollten wir eine erfolgreiche Anfrage sehen , wenn wir auf die blaue Schaltfläche Senden klicken!

Fügen wir nun eine weitere Anfrage hinzu. Gehen Sie genauso vor wie zuvor, um eine neue Anfrage im PokéAPI Pokémon-Ordner zu erstellen, und nennen Sie diese Anfrage "Fähigkeiten".

Wenn Sie vom ersten Squirtle-Endpunkt aus durch die Antwort scrollen, werden viele andere API-URLs angezeigt. Oben haben wir abilitiesund wir haben zwei verschiedene - "Torrent" und "Regenschale".

Wählen Sie Ihre bevorzugte Squirtle-Fähigkeit und kopieren Sie den urlWert in die neue Fähigkeitsanforderung, die wir gerade erstellt haben. Ich werde sie verwenden rain-dish.

Wir können den Anforderungstyp als GET belassen, auf die blaue Schaltfläche Senden klicken und erneut eine erfolgreiche Antwort sehen!

Hier erhalten wir viele Informationen über unsere Squirtle-Fähigkeit Rain Dish und einige Details kommen in verschiedenen Sprachen, was cool ist!

Jetzt haben wir eine neue PokéAPI-Sammlung mit einem Pokémon-Ordner, der die Gruppe der Pokémon-API-Endpunkte einschließlich Pokemon und Fähigkeiten darstellt.

Wir werden Teil 3 mit diesen beiden Anfragen beenden, aber Sie können fortfahren und so viele PokéAPI-Anfragen hinzufügen, wie Sie möchten!

Teil 4: POST-Anfragen mit Postman stellen, um Sätze so zu übersetzen, dass sie wie Yoda klingen

Bisher haben wir nur GET-Anfragen gestellt, aber was ist, wenn wir eine POST-Anfrage stellen möchten, bei der wir tatsächlich einige Daten senden müssen?

Für eine POST-Anfrage verwenden wir die Yoda Translator-API von funtranslations.com. Obwohl diese API nur einen einzigen Parameter akzeptiert, ist sie dennoch ein guter öffentlicher Endpunkt, mit dem wir das Konzept verstehen können.

Lassen Sie uns zunächst eine neue Sammlung mit einer neuen Anfrage erstellen:

  • Sammlung: Fun Translations
  • Anfrage: Yoda

Dieses Mal lautet unsere Anforderungskonfiguration anstelle einer GET-Anfrage:

  • Anfragetyp: POST
  • URL anfordern : //api.funtranslations.com/translate/yoda

Wenn wir diesmal auf die blaue Schaltfläche " Senden" klicken, werden wir feststellen, dass wir keine erfolgreiche 200-Antwort erhalten, sondern eine 400!

Wir haben nie Daten eingerichtet, die an die API gesendet werden sollen, und diese Daten sind erforderlich. Fügen wir sie also hinzu.

Klicken Sie direkt unter der Anforderungs-URL auf Text . Wählen Sie dann anstelle von none als Körpertyp raw aus . Ändern Sie schließlich ganz rechts neben den Typen Text in JSON .

Dann können Sie im Feld darunter Folgendes hinzufügen:

{ "text": "Hello, I am learning how to test APIs with Postman!" } 

Und jetzt klicken Sie erneut auf die blaue Schaltfläche Senden und wir erhalten eine erfolgreiche Antwort!

Wir können dieses Konzept auf so ziemlich jede API anwenden. Mit Postman können Sie nicht nur JSON veröffentlichen, sondern auch die anderen Formate verwenden, die im Abschnitt "Körpertyp" aufgeführt sind. Je nachdem, welche API Sie verwenden, stehen Ihnen zahlreiche Optionen zur Verfügung.

Teil 5: Authentifizieren von Anfragen an die Lord of the Rings-API mit einem API-Schlüssel

Für den Rest der exemplarischen Vorgehensweise verwenden wir die Lord of the Rings-API.

Zunächst benötigt die Lord of the Rings-API eine Authentifizierung, um Anforderungen mithilfe eines API-Schlüssels zu stellen. Bevor wir eintauchen, müssen Sie zunächst ein kostenloses Konto erstellen.

//the-one-api.herokuapp.com/sign-up

Sobald Sie sich angemeldet und angemeldet haben, sehen Sie als erstes Ihren API-Schlüssel! Kopieren Sie diesen Schlüssel entweder nach unten oder merken Sie sich, wo Sie ihn für später finden können. Wenn Sie die Seite verlassen, können Sie sie jederzeit abrufen, indem Sie in der Navigation der API-Website zu Willkommen und dann zu Konto navigieren.

Erstellen Sie zunächst eine neue Sammlung und fordern Sie Folgendes an:

  • Sammlung: Herr der Ringe
  • Ordner: Film
  • Anfrage: Alle Filme
  • Anfragetyp: GET
  • URL anfordern : //the-one-api.herokuapp.com/v1/movie

Wenn Sie mit dem oben Gesagten fertig sind , klicken Sie auf Senden . Sie werden sofort feststellen, dass eine Antwort mit der Aufschrift 401 angezeigt wird und dass diese nicht authentifiziert ist.

Da für diese API der API-Schlüssel erforderlich ist, haben wir genau das erwartet. Klicken wir also auf die Registerkarte Autorisierung . Wir können dann einen Typ des Träger-Tokens auswählen und rechts unseren Schlüssel einfügen, den wir gerade mit der Lord of the Rings-API eingerichtet haben.

Und sobald wir auf Senden klicken , sehen wir jetzt eine erfolgreiche Antwort!

Das hat wirklich gut funktioniert, aber was ist, wenn wir eine Reihe von Anfragen haben, die einen einzigen Schlüssel verwenden? Müssen wir das bei jeder Anfrage verwalten?

Anstatt es für jede einzelne Anfrage zu verwalten, können wir es für die Sammlung verwalten. Lassen Sie uns zuerst eine weitere Anfrage erstellen.

Erstellen Sie in unserer Sammlung "Herr der Ringe" und im Ordner "Film" eine neue Anfrage:

  • Anfrage: Zitat nach Film-ID
  • Anfragetyp: GET
  • URL anfordern : //the-one-api.herokuapp.com/v1/movie/{id}

Verwenden wir in dieser Anfrage eine ID aus der Antwort der ersten Anfrage. Ich werde diese verwenden. Dies 5cd95395de30eff6ebccde5bist die ID der beiden Türme. Die URL der Anfrage sieht also folgendermaßen aus:

//the-one-api.herokuapp.com/v1/movie/5cd95395de30eff6ebccde5b

Anstatt unser Token in der Anforderungsautorisierung festzulegen, belassen wir den Typ jetzt als Inherit auth from parent . Klicken Sie auf die drei Punkte neben der Sammlung und wählen Sie Bearbeiten .

Hier machen wir genau das Gleiche wie bei der ersten Anfrage, jedoch bei der Collection-Konfiguration. Wählen Sie die Berechtigung Registerkarte unter Typ auswählen Bearer Token , und im Token - Feld wieder Token einfügen.

Klicken Sie abschließend auf Aktualisieren und klicken Sie erneut auf die blaue Schaltfläche Senden. Wir sehen eine erfolgreiche Anfrage!

Wir können jetzt zu unserer Anfrage "Alle Filme" zurückkehren und die Autorisierung aktualisieren, um eine Art von Inherit-Authentifizierung vom übergeordneten Element zu verwenden, und sie sollte weiterhin funktionieren!

Was können wir noch mit Postman machen?

Während ich viele Grundlagen behandelt habe, können Sie mit Postman noch viel mehr tun. Hier sind einige meiner Favoriten.

Umgebungsvariablen

Wenn Sie als Entwickler an einem Projekt arbeiten, verwendet Ihr Team wahrscheinlich mehrere Umgebungen, z. B. eine Entwicklungs- und Produktionsumgebung. Anstatt völlig separate Anforderungen zu erstellen und zu verwalten, können Sie eine Umgebungsvariable hinzufügen und diese Variable beim Wechsel zwischen Umgebungen ändern!

Variablen gelten für viele Szenarien, aber das ist eine häufige Verwendung. Lesen Sie die Postman-Dokumente, um zu erfahren, wie.

//learning.postman.com/docs/postman/variables-and-environments/variables/

Importieren und Exportieren von Sammlungen und Daten

Eine großartige Sache bei Postman ist, dass Sie Ihre Anfragen, sobald sie alle organisiert sind, exportieren können, damit andere sie verwenden können. Dies bedeutet auch, dass Sie Sammlungen von anderen Teammitgliedern importieren können. Dies macht es viel einfacher sicherzustellen, dass alle dieselbe Sammlung verwenden.

Bonus: Sie können diese Dateien sogar in einem Git-Repository speichern, da es sich nur um JSON handelt.

Beachten Sie jedoch, dass Sie beim Exportieren Ihrer Sammlung sicherstellen sollten, dass Sie die Autorisierung für die Sammlung verwenden, wie in diesem Handbuch beschrieben.

//learning.postman.com/docs/postman/collections/importing-and-exporting-data/

Automatisiertes Testen

Sobald Sie eine Reihe von Anforderungen in einer Sammlung haben und noch besser, wenn Sie diese in Github speichern, können Sie diese Anforderungen als Teil einer Möglichkeit zum Verwalten des automatisierten Testens Ihrer API verwenden.

Es gibt zwar einige Lösungen dafür, aber Postman enthält einen Collection Runner, der direkt in die App integriert ist, und Newman ist ein Befehlszeilenprogramm, mit dem Sie Tests direkt vom Terminal aus ausführen können.

//www.postman.com/use-cases/api-testing-automation/

Was ist Ihre Lieblingsmethode zum Testen und Spielen mit APIs?

Teile es mit mir auf Twitter!

Folgen Sie mir für mehr Javascript, UX und andere interessante Dinge!

  • ? Folge mir auf Twitter
  • ? ️ Abonniere mein Youtube
  • ✉️ Melden Sie sich für meinen Newsletter an