APIs sind in viele der heute verwendeten Webdienste integriert, sodass Systeme verschiedene Informationen hin und her senden und kommunizieren können. Als solche sind sie ein starkes Bindeglied zwischen kritischen Diensten und Benutzern. Und wie bei jedem wichtigen Teil eines Systems ist es notwendig, sie zu testen. Mit API-Testlösungen von Drittanbietern oder Postman können wir sowohl manuelle als auch automatisierte Tests (einschließlich API-Überwachung) durchführen.

API steht für Application Programming Interface. Es ist eine Software-zu-Software-Schnittstelle. Bei APIs unterhalten sich Anwendungen ohne Clienteingriff miteinander. Aber mit Tausenden von APIs zur Verfügung, Postman kommt ins Bild zu erstellen, testen, teilen und verwalten diese APIs macht die API-Nutzung effizient und weniger mühsam.

Dieser Artikel hilft Ihnen zu verstehen, was Postman ist, was Postman Collections sind, wichtige Funktionen und Vorteile und wie Sie Auslastungstests für Postman-Sammlungen und deren Integration in CI/CD-Pipelines mit LoadView einrichten können.

Postman Load Testing mit LoadView

Entdecken Sie unsere Load Testing-Lösung oder lesen Sie unten, wie Sie Postman mit LoadView verwenden können.

Was ist Postman?

Postman ist ein beliebtes API-Client-Tool, das es Entwicklungsteams erleichtert, APIs zu erstellen, gemeinsam zu nutzen, zu testen und zu dokumentieren. Es bietet eine nahtlose Benutzererfahrung, die beim Auftreffen von API-Endpunkten hilft, indem Anforderungen gemäß der API-Spezifikation schnell erstellt und die verschiedenen Antwortparameter wie Statuscode, Header und der tatsächliche Antworttext selbst seziert werden. Wir können diese Funktionen für kontinuierliche und automatisierte Tests nutzen. Es wird als Begleitwerkzeug zum Entwickeln, Dokumentieren und Testen einer API verwendet und bietet eine Benutzeroberfläche, um REST-APIs (Representational State Transfer) Serveranforderungen zu stellen und die Antwort von Servern anzuzeigen.

Postman ist ein API-Entwicklungstool, das im Lebenszyklus der Softwareentwicklung verwendet wird:

  • API-Entwicklung
  • API-Tests
  • API-Dokumentation

Postman bietet uns nicht nur eine Umgebung, um mit APIs zu arbeiten, sondern kann auch verwendet werden, um Webseiten wie einen Browser anzufordern. Geben Sie die URL in die Adressleiste ein und klicken Sie auf Senden, um die HTML-Antwort (HyperText Markup Language) anzuzeigen. Postbote kann auch beim Anfügen von Skripts helfen, bevor der Benutzer die Anforderung sendet und nachdem er die Antwort erhalten hat. Wir können jede Anforderung in einer Auflistung speichern, die später verwendet werden kann, um alle Anforderungen in der Reihenfolge auszuführen.

Eine Sache, die Postman jedoch nicht ist, ist ein Leistungstest-Tool. Während Sie in der Lage sein werden, kleine, kontrollierte Tests auszuführen, die Ihnen API-Antwortzeiten geben, ist dies nicht dasselbe wie das Ausführen eines Tests unter realen Bedingungen. Es setzt die API nicht unter irgendeine Art von echtem Stress, daher ist es kein guter Indikator dafür, wie Ihre API reagiert, wenn echte Benutzer beteiligt sind. Dafür benötigen Sie eine Lösung wie LoadView, über die wir später in diesem Artikel ausführlicher sprechen werden.

Postman-Schnittstelle

Was ist API-Tests?

In API-Tests verwenden wir dedizierte Tools, um Aufrufe an den Server zu senden, der die API hostet, und die Antwort abzurufen. Das Ziel von API-Tests besteht darin, die richtige Ausführung zu bestätigen und zu überprüfen, ob die API Ressourcen wie beabsichtigt abruft, spart oder aktualisiert.

Wenn wir wissen, dass die API eine bestimmte Aktion ausführen soll, z. B. Daten aktualisieren, Daten abrufen, Daten löschen, Daten ändern, sollten die Tests die Ergebnisse dieser Aktionen überprüfen. Verhält es sich so, wie es sein soll? Was ist, wenn es nicht passieren soll? Und sind die Ergebnisse, die Sie erwarten würden, es zu sein? API-Tests sind in der Regel Blackbox-Tests, aber in dem Maße, in dem wir zuvor Zugriff auf die Ergebnisse der API-Aktionen haben und die erwartete Antwort kennen, die überprüft werden muss.

API-Tests: Funktionstests im Vergleich zu Auslastungstests

Wie bereits erwähnt, geht es beim Funktionstest oder Black-Box-Testen in erster Linie darum, grundlegende Funktionen anhand einer Reihe von Spezifikationen zu testen und zu beobachten, ob sie funktionieren oder nicht. Bevor APIs durch den Entwicklungszyklus verschoben und weiter getestet werden können, ist es wichtig, dass die grundlegenden API-Funktionalitäten funktionieren. Wenn Entwickler von Funktionstests zu Auslastungstests wechseln, ohne sicherzustellen, dass grundlegende Funktionen ordnungsgemäß getestet wurden, werden die Auslastungstests und -ergebnisse abgeworfen. Die Ergebnisse der Funktionstests beobachten einfach, ob etwas funktioniert hat oder nicht.

Auf der anderen Seite ist Auslastungstests wie Funktionstests, aber der Unterschied ist, dass Auslastungstests festgelegt werden, um zu testen, wie diese Funktionalitäten einer großen Anzahl gleichzeitiger Benutzer oder Lasten standhalten. Zu den Ergebnissen von Auslastungstests gehört das Verständnis, wie diese API-Endpunkte reagieren und unter Last funktionieren.

Eigenschaften von Postman

Es gibt scheinbar kein Ende der schieren Menge an Funktionen, die Postman den Benutzern bietet. Von Funktionen wie der Postman-API und Workflow-Steuerelementen bis hin zu integrierten Monitoren für Regressionstests deckt das Tool API-Tests ab. Auf einer hohen Ebene gibt es jedoch eine Handvoll Kernfunktionen, die jeder API-Tester benötigt. Werfen wir einen genaueren Blick auf diese Funktionen.

Importanforderungen

Postman stellt eine Import-Funktion bereit, in der wir unformatierten CURL-Text einfügen und in eine Anforderung konvertieren können, die mit Details wie Anforderungs-URL, Header, Anforderungstext, Abfrageparametern und Autorisierungstoken formatiert ist.

Unterstützung für mehrere Protokolle und Technologien

Mit der Postman-API-Client-Funktion können wir REST-, SOAP-, WSDL- und GraphQL-Anfragen senden.

Schreiben von Testfällen

Wir können Testfälle erstellen, in denen zusätzliche APIs ausgeführt werden, und wir können bei der Antwortvalidierung bei der Überprüfung von JSON/XML-Antworten und Antwortcodevalidierungen helfen.

Sammlungen

Postman hilft uns, Sammlungen zu erstellen, die helfen, APIs mit Ordnern Struktur für verschiedene Projekte zu trennen. Es bietet Unterstützung für die Ausführung von Collection, die schließlich alle APIs, die Teil der Auflistung sind, ausführt.

JSON-Schemavalidierung

Sie können das JSON-Schema (JavaScript Object Notation) verwenden, um die Struktur ihrer Anforderungen und Antworten zu definieren. Es hilft, JSON-Inhalte zu bereinigen und zu strukturieren, so dass sie auf Postman leicht zu verstehen und zu lesen sind.

Verwenden von Umgebungs- und dynamischen Variablen

Wir können Variablen in Postman erstellen und basierend auf verschiedenen Umgebungen können dieselben Variablen unterschiedliche Werte für die ausgewählte Umgebung zugeordnet haben. Dies ist hilfreich, wenn wir mit den gleichen APIs arbeiten, aber mit mehreren Umgebungen in der realen Welt.

Konvertieren von API in Code

Postman ermöglicht die Konvertierung der API-Anforderung in Code in allen bekannten Sprachen wie JavaScript, Golang, Java, PHP, Python und vielen mehr.

Vorteile von Postman

Diejenigen, die Postman regelmäßig nutzen, werden mit den folgenden Vorteilen vertraut sein. Dies ist jedoch keine erschöpfende Liste der Funktionen und Features dieses API-Testtools. Schauen wir uns einige der Hauptvorteile von Postman an.

Automatisieren von API-Tests

Dies ist der erste und offensichtlichste Vorteil von Postman. Mit dem Tool können Sie API-Tests automatisieren und die Sammlung in CI/CD-Pipelines integrieren. Und wie bereits erwähnt, werden beim API-Testen entweder JSON- oder XML-Formate verwendet, die unabhängig vom Anwendungsframework oder den von Entwicklern verwendeten Protokollen sind. Egal welches Framework Sie verwenden (Python, JavaScript, Ruby usw.), Postman unterstützt es. Sie können Komponententests, Integrationstests, Regressionstests und Mocktests automatisieren.

Plattform- und Betriebssystemkompatibel

Postman ist für Mac OS X, Windows und Linux verfügbar. Die Postman Web-App ist auch für Chrome, Firefox, Edge und Safari verfügbar und optimiert.

Postman-Testberichte

Es bietet einen Testbericht, der uns bei der Nachverfolgung von Daten über den Anforderungsgenerator hilft, und Sie können HTML-Berichte für die Testläufe generieren.

Integrationen

Postman bietet Unterstützung und kann einfach in alle wichtigen Entwicklertools wie GitHub, Slack, Dropbox und GitLab integriert werden.

Preise

Alle wichtigen Funktionalitäten von Postman sind kostenlos. Sie können alle oben genannten Vorteile kostenlos erhalten. Es gibt auch bezahlte Pläne für Postman Pro und Postman Enterprise für kleine bis große Unternehmen.

Alternativen zu Postman

Prahlerei

swagger-Logo

 

 

Swagger ist eine Open-Source-API-Spezifikation, sie ist wie WSDL für REST-APIs, wo Sie die Struktur der REST-APIs definieren (Endpunkt-URLs, Eingabe-/Ausgabemodelle, Authentifizierungsschema usw.). Die Spezifikationsdatei basiert auf JSON und die Dateierweiterung ist entweder JSON oder YAML. Einige der wichtigsten Highlights von Swagger sind:

  • Open-Source und kostenlos, jedoch kann es schwierig sein, zu lernen oder Ressourcen für Probleme zu finden.
  • Swagger stellt APIs im Browser dar.
  • Kann automatisch Dokumentation aus dem Erstellen Ihrer Dienste generieren.

SoapUI

SoapUI-Logo

 

 

 

SoapUI ermöglicht es Benutzern, REST- und SOAP-APIs schnell und einfach zu testen, da das Tool speziell zum Testen von APIs erstellt wurde. SoapUI hilft beim Testen komplizierter Kombinationen von Webdiensten wie RESTful, SOAP, JSON und AMF. Sie müssen WSDL jedoch zum Testen von Webdiensten verwenden. Darüber hinaus ist für die Automatisierung eine Menge Skripting erforderlich, und für Benutzer, die diese Erfahrung nicht gemacht haben, kann es schwierig und zeitaufwändig werden. Einige der wichtigsten Highlights von SoapUI sind:

  • Die Point-and-Click-Funktionalität erleichtert die Benutzerfreundlichkeit von JSON und XML.
  • Laden Sie Daten aus Excel, Dateien, Datenbanken usw.
  • Verwenden Sie Ihre Funktionstestfälle als Auslastungstests wieder.
  • Integriert in API-Verwaltungsplattformen von Drittanbietern, unterstützt REST, SOAP, JMS und IoT usw.

Integrieren von Postman Collection Testing in CI/CD Pipeline

Continuous Integration (CI) ist eine Entwicklungspraxis, bei der Entwickler Code regelmäßig in einem freigegebenen Repository zusammenführen müssen. Es umfasst den Prozess der Automatisierung des Builds und Testens von Anwendungen jedes Mal, wenn eine neue Änderung an den Quellcode festgeschrieben wird. Kontinuierliche Entwicklung kann als eine Abfolge von Schritten erklärt werden, die nacheinander ausgeführt werden müssen, damit die Anwendung auf einem spezialisierten Server ausgeführt werden kann und der Anwendungsfall für die Bereitstellung von Benutzeranforderungen erfüllt wird.

Laden von Postman-Sammlungen mit LoadView

Jedes Mal, wenn wir eine Back-End-Anwendung testen, ist das Testen der Funktionalität ein Standardteil des Prozesses, um sicherzustellen, dass die Dinge so funktionieren, wie wir sie beabsichtigt hatten. Nun, das ist alles gut und schön, aber nicht für die reale Welt. Ihre Anwendungen werden von vielen, wenn nicht Hunderten oder Tausenden von Benutzern gleichzeitig genutzt, daher müssen wir auch Leistungstests durchführen, um zu sehen, wie gut sie diesem Datenverkehr standhalten. Wir müssen die Anwendung mit jeder Anwendungsänderung vergleichen und validieren. Wie wir den Überblick über Postman, seine Funktionen und wie wir Teststrategie für API-Funktionstests einrichten können, müssten wir Tools verstehen, die helfen können, die Anwendung zu testen.

In Fällen, in denen wir Postman verwenden, um die Web-API-Funktionalität zu testen und einen Auslastungstest aus den API-Aufrufsammlungen generieren möchten, können wir uns für ein spezielles Auslastungstesttool wie LoadView entscheiden. LoadView bietet echte browserbasierte Auslastungstests für APIs sowie Webanwendungen (extern und intern) sowie Für Websites und Server.

Testeinrichtung

Wir werden Schritt für Schritt prüfen, wie Sie einen Auslastungstest für Webanwendungen für eine Postman-Sammlung einrichten.

LoadView Postman API-Tests: Schritt 1

Bevor wir überhaupt anfangen, müssten wir die Postman Collection exportieren. Wir können die Option „Öffentliche Verknüpfung abrufen“ auswählen und sie einfach in LoadView importieren (Hinweis: Stellen Sie sicher, dass die Postman-Sammlung nur lokale Variablen verwendet, da Umgebungsvariablen nicht in der Auflistung gespeichert sind).

Postman Collection Export

LoadView Postman API-Tests: Schritt 2

Öffnen Sie die LoadView-Plattform, und wählen Sie Neue Auslastungstests erstellen aus.

LoadView Postman API-Tests: Schritt 3

Hier sehen Sie die verschiedenen Auslastungstesttypen, die in LoadView verfügbar sind – Web-Apps, Websites und APIs. Für unseren Anwendungsfall wählen wir die Option Postman Collection aus, um API-Tests zu starten.

Auslastungstesttyp Postman

LoadView Postman API-Tests: Schritt 4

Ein neues Fenster wird geöffnet und hier müssen wir die exportierte Postman-Sammlung importieren und auf Gerät erstellenklicken.

Postman Collection Request

LoadView Postman API-Tests: Schritt 5

Sobald wir ein Gerät erfolgreich erstellt haben, sehen wir den Bildschirm Testszenario, auf dem wir Load Typefestlegen können, der sich je nach Ziel unseres Tests unterscheiden würde.

  • Lastbasierte Kurve. Dies dient zum Ausführen von Auslastungstests mit einer bekannten Anzahl von Benutzern und erhöhen den Datenverkehr nach der eingestellten Aufwärmzeit.
  • Zielbasierte Kurve. Dieser Testaufbau wird verwendet, wenn wir nach gewünschten Transaktionen pro Sekunde für unsere spezifische API suchen und auf die gewünschten gleichzeitigen Benutzer skalieren möchten.
  • Dynamische basierte Kurve. Mit diesem Satz können Sie dynamische Werte in der Anzahl der Benutzer, der maximalen Benutzer und der Testdauer auswählen und können während des Tests in Echtzeit geändert werden.

Ladentypen für Postman-Sammlung

LoadView Postman API-Tests: Schritt 6

Nachdem wir ein Testszenario mit einer Liste aller APIs erstellt haben, können wir jetzt Auslastungs- und Stresstests für unsere APIs ausführen. Nach erfolgreichem Abschluss des Auslastungstestlaufs erhalten Sie Berichte, Dashboards und Metriken, die zeigen, wie unsere API und unsere Systeme unter Last abgeschnitten haben.

Postman Collection Load Test-Integration mit Jenkins

Während wir uns angeschaut haben, wie wir Postman-Auflistungsauslastungstests mit LoadView integrieren und ausführen können, können wir diese Tests als Teil von CI/CD hinzufügen, um regelmäßiges Feedback und Performance-Ergebnisse zu erhalten. LoadView bietet auch die Integration mit Jenkins, die Stresstest-Websites, Webanwendungen und APIs mit gleichzeitigen Verbindungen in realen Browsern aus einer vollständig verwalteten Cloud unterstützt. Alle neuen Updates oder zusätzlichen Funktionen können auch mit dem LoadView-Plugin für Jenkins geladen werden.

Werfen wir einen Blick auf die Schritte, die für das zuvor erstellte Postman-Sammlungstestszenario in LoadView und dessen Integration mit Jenkins verwendet werden.

Schritt 1. Um die Tests mit Jenkins zu integrieren, würden wir dasselbe Postman-Testszenario verwenden, das oben erstellt wurde.

Schritt 2. Erstellen Sie eine eindeutige UID. Dies wird als Sicherheitstoken zur Integration in Jenkins verwendet. Kopieren Sie die Integrations-UID.

Postman Jenkins Integration UID

Schritt 3. Die Testszenario-ID für unsere Postman-Sammlung finden Sie auf der Seite Szenario-Setup oder auf der Testverlaufsseite (Test-Manager > im Testaktionsmenü > Verlauf).

Postman Collection Testhistory

LoadView Plugin in Jenkins

Gehen Sie folgendzulastig vor, um das LoadView-Plug-In zu konfigurieren:

  1. Melden Sie sich bei Ihrem Jenkins-Konto an.
  2. Wechseln Sie in Jenkins zu Anmeldeinformationen Hinzufügen von > Anmeldeinformationen > LoadView Security Token (UID). Konfigurieren und überprüfen Sie die Anmeldeinformationen.
  • Art. LoadView-Sicherheitstoken (UID).
  • Anwendungsbereich. Wählen Sie Global.
  • ID. Lassen Sie den Standardwert, oder geben Sie eine eindeutige ID an.
  • Beschreibung. Geben Sie eine eindeutige Beschreibung an, um die Anmeldeinformationen zu unterscheiden.
  • UID. Fügen Sie die Web-API-UID für Auslastungstests aus Ihrem LoadView-Konto ein. Nachdem die UID hinzugefügt wurde, klicken Sie auf UID überprüfen, um sicherzustellen, dass Jenkins auf die LoadView-API zugreifen kann.
  1. Wählen Sie als Nächstes einen Auftrag aus, und klicken Sie auf Konfigurieren.

Jenkins LoadView-Sicherheitstoken

  1. Wechseln Sie zu Build > Post-Build Actions Add > post-build action > LoadView-Run load test scenario. Geben Sie LoadView-Stresstesteinstellungen für den Build an:
  • Anmeldeinformationen. Wählen Sie den API-Schlüssel mithilfe der Beschreibung aus.
  • Szenario-ID. Fügen Sie die Testszenario-ID ein, die Sie im Build verwenden möchten. Kopieren Sie die ID von der Szenarioseite in LoadView.
  • Fehlerschwellenwert. Geben Sie einen akzeptablen Prozentsatz von Sitzungen mit Fehlern an, die während des Tests aufgetreten sind (nicht auf die Zielressource zugreifen, keine Schlüsselwörter/Bild gefunden usw.). Wenn der Prozentsatz der Fehlersitzungen größer als der angegebene Wert ist, wird der Build in Jenkins als Fehler markiert.
  • Durchschnittliche Zeit. Geben Sie einen Grenzwert für eine durchschnittliche Antwortzeit an, die während der Testausführung gemessen wird. Wenn das Limit erreicht ist, wird der Build in Jenkins als Fehler markiert.
  1. Klicken Sie auf Speichern.

LoadView-Testergebnisse anzeigen

Schließlich haben wir unsere Postman-Sammlung erfolgreich mit Jenkins integriert, indem wir LoadView als Plattform verwendet haben. Während unser Stresstest läuft, wird der Status in der Jenkins Console Output im Echtzeitmodus angezeigt.

Postman Jenkins Konsolenausgabe

 

Postman Jenkins LoadView TestPerformance Results

Überwachung des Postman Collection-Tests

LoadView ist ein Teil der vielen Lösungen innerhalb der Dotcom-Monitor-Plattform. Dotcom-Monitor bietet auch einfache Überwachungstools für unsere Postman-Sammlungen. Wenn wir eine Sammlung von Integrationstests haben, die für interne API-Tests mit Postman verwendet werden, und wir auch Tests einrichten möchten, die von außerhalb des lokalen Netzwerks ausgeführt werden können, können wir die Postman-Tests in Dotcom-Monitor hochladen. Mit der Dotcom-Monitor Postman Collection-Aufgabe können wir automatisierte Überwachungstests mit Warnungen zu Fehlernerstellen. Wir können Überwachungsstandorte, einen Überwachungsplaner, Filter und die Erstellung von Berichten basierend auf Überwachungsergebnissen angeben.

Die Auflistung der hinzugefügten HTTP-Anforderungen wird wiederholt mit der definierten Häufigkeit ausgeführt, um die Sequenz von Aufrufen an die Zielweb-API auszuführen. Damit haben wir die Assertionen, die für die Anforderungen in Postman angegeben wurden, die helfen, API-Antworten zu überprüfen. Wenn eine bedingung, die von Assertionen festgelegt wurde, nicht erfüllt ist, wird die Aufgabe als fehlgeschlagen markiert.

Laden Sie Ihre API mit Postman: Letzte Gedanken

Die Entwicklungsgemeinschaft hat sehr unterschiedliche Meinungen über das Testen von APIs. Wir haben gesehen, wie Postman uns dabei hilft, APIs so einfach zu erstellen, zu warten und zu testen. Wir haben uns auch eine Schritt-für-Schritt-Anleitung angesehen, wie wir gleichzeitige Benutzer beim Laden der Postman-Sammlung mit LoadView simulieren können. Schließlich haben wir uns angesehen, wie wir diesen Schritt mithilfe der Jenkins-Integration mit LoadView automatisieren können. Die Tools, die erforderlich sind, um diese Anwendungen zu betonen, wurden in letzter Zeit vereinfacht und bieten immense Hilfe beim Testen komplexer Systeme, die von internen und externen Anwendungen abhängig sind. Es hilft uns, die Engpässe und Probleme klarer zu erkennen.

Starten Sie das Auslastungstesten Ihrer APIs noch heute mit LoadView. Melden Sie sich für die kostenlose Testversion an und erhalten Sie 20 $ in Lasttest-Credits. Oder melden Sie sich für eine unserer privaten Demos bei einem unserer Performance-Ingenieure an. Unser Techniker führt Sie durch die gesamte LoadView-Plattform und zeigt Ihnen, wie Sie LoadView in Postman-Sammlungen integrieren und die Schritte mit Jenkins automatisieren.