fbpx

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 eine starke Verbindung zwischen kritischen Diensten. 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 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 wird dazu beitragen, Postman, Sammlungen, seine herausragenden Funktionen und wie wir Auslastungstests für Postman-Sammlungen und seine Integration mit CI/CD-Pipelines mit LoadVieweinrichten können.

 

Was ist Postman?

Postman ist ein beliebtes API-Client-Tool, das es Entwicklungsteams erleichtert, APIs zu erstellen, freizugeben, 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 Begleittool zum Entwickeln, Dokumentieren und Testen einer API verwendet und stellt eine Benutzeroberfläche zum Erstellen von REST-APIs-Serveranforderungen bereit und zeigt die Antwort von Servern an.

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, Es kann auch verwendet werden, um Webseiten wie ein Browser anzufordern. Geben Sie die URL in die Adressleiste ein, und klicken Sie auf Senden, um die HTML-Antwort 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.

 

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 des API-Tests besteht darin, die richtige Ausführung und Validierung zu bestätigen, wenn die API Ressourcen wie beabsichtigt erhält, speichert 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 Zugriff auf die Ergebnisse der API-Aktionen haben und wir vorher die erwartete Antwort kennen, die überprüft werden muss.

 

Eigenschaften von Postman

 

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-Anforderungen 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

Wir können JSON Schema verwenden, um die Struktur ihrer Anforderungen und Antworten zu definieren. Es hilft, JSON zu verschönern und zu strukturieren, so dass es leicht zu verstehen und auf Postman zu lesen.

 

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

 

Automatisierte Tests

Postman lassen uns API-Tests automatisieren und die Sammlung in CI/CD-Pipelines integrieren. Wir können Komponententests, Integrationstests, Regressionstests und Mocktests im Rahmen dieser Tests automatisieren.

 

Plattform- und Betriebssystemkompatibel

Postman ist auf Mac, Windows, Linux und Chrome verfügbar und unterstützt alle gängigen Betriebssysteme.

 

Postman-Testberichte

Es bietet einen Testbericht, der uns beim Nachverfolgen von Daten über den Anforderungs-Generator hilft, und wir 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. Wir 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 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.
  • SwaggerUI stellt APIs im Browser dar
  • Kann automatisch Dokumentation aus dem Aufbau Ihrer Dienste generieren

 

SoapUI

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 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.

Wir können Postman-Sammlungen-APIs integrieren, um in unseren Continuous Integration/Continuous Development-Umgebungen mit Newman ausgeführt zu werden, Newman ist ein Befehlszeilentool, mit dem wir eine Postman-Sammlung auf unserem Server oder in einer lokalen Umgebung ausführen können. Zur Integration benötigen wir eine Collection UID und einen Postman-API-Schlüssel. Wir können postman collection mit einem einzigen Befehl ausführen, der so einfach wie unten erwähnt:

Newman-Ausführung https://api.getpostman.com/collections/ . {collection_uid} . . . . . . . . . . . . . . . . . . . . . . . . . . . {postman-api-key-here} . . . .

 

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. 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 einen Blick darauf werfen, wie man einen Web-App-Auslastungstest für eine Postman-Sammlung einrichtete.

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 dem Einrichten der Aufwärmzeit.
  • Zielbasierte Kurve. Dieses Test-Setup wird verwendet, wenn wir für unsere spezifische API nach gewünschten Transaktionen pro Sekunde suchen und langsam auf die gewünschte Rate 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 verwendet, um in Jenkins zu integrieren. Kopieren Sie die Integrations-UID.

Postman Jenkins Integration UID

 

Schritt 3. Die Testszenario-ID für unsere Postman-Sammlung finden Sie auf der Seite für die Szenarioeinrichtung oder auf der Seite Verlauf des Tests (Test-Manager > des Aktionsmenüs Verlauf des > Tests).

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 Teil der Dotcom-Monitor-Lösung. 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 bei der Erstellung, Wartung und dem Testen von APIs mit einer solchen Leichtigkeit unterstützt. 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. Später haben wir untersucht, 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. Wir zeigen Ihnen, wie Sie LoadView in Postman-Sammlungen integrieren und die Schritte mit Jenkins automatisieren.