how use command line integration with newman postman
Erfahren Sie, wie Sie Briefträgersammlungen mit Newman ausführen:
In diesem Tutorial werden wir sehen, wie wir Postman-Sammlungen über die Befehlszeile mit Newman, einem Befehlszeilen-Integrationstool für Postman, integrieren oder ausführen können.
Newman ist ein kostenloses Open-Source-Tool. Es bietet leistungsstarke Funktionen zum Ausführen der Postman-Sammlungen, nutzt die äußerst nützlichen Funktionen von Postman wie Tests, Zusicherungen, Skripts vor der Anforderung usw. und führt die Sammlung über die Befehlszeile aus.
=> Überprüfen Sie hier, um A-Z der Postman Training Tutorials hier zu sehen.
Was du lernen wirst:
Was ist Newman?
Newman ist ein Befehlszeilenläufer für Postman-Sammlungen. Mit anderen Worten, ein Benutzer kann eine vorhandene Postman-Sammlung über die Befehlszeile ausführen.
Es erwartet oder verbraucht die JSON-Version der Sammlung, die durch einfaches Exportieren der Sammlung im JSON-Sammlungsformat oder der URL der Sammlung abgerufen werden kann, die nichts anderes als die gleiche JSON-Version ist, die beim Export der Sammlung erhalten wurde.
Hier ist ein Video-Tutorial:
Newman installieren
Newman ist ein NodeJS-Modul und daher abhängig vom System, auf dem der Knoten installiert ist. Um zu überprüfen, ob der Knoten installiert ist oder nicht, überprüfen Sie einfach die Knotenversion auf dem System mit dem folgenden Befehl.
$ node -v v10.15.3
Wenn der Befehl eine Ausgabe wie oben zurückgibt, bedeutet dies, dass der Knoten installiert ist und wir mit der Newman-Installation beginnen können. Wenn nicht, können Sie den Knoten anhand der Installationsanweisungen installieren Hier
Sobald die Knoteninstallation erfolgreich ist, können Sie Newman einfach wie jedes andere Knotenpaket mit dem folgenden Befehl installieren.
npm install -g newman
Hier bezeichnet '-g' die globale Installation, was bedeutet, dass auf das Newman-Paket von jedem Ordner / Speicherort im Dateisystem aus zugegriffen werden kann. Für eine lokale Installation können Sie das Flag '-g' von oben entfernen, wobei auf das Newman-Paket nur vom installierten Speicherort oder Ordner aus zugegriffen werden kann.
Um die erfolgreiche Installation von Newman zu überprüfen, können Sie die Version einfach mit dem folgenden Befehl überprüfen.
newman -v 4.5.1
Ausführen von Sammlungen mit Newman
Um Sammlungen mit Newman auszuführen, sollten Sie eine der beiden haben.
- Die Sammlung im JSON-Format.
- URL der gehosteten Sammlung.
Der Befehl zum Ausführen der Postman-Sammlung mit Newman lautet:
SQL Server Interview Fragen und Antworten für erfahrene PDF
newman run {{collectionJsonPath}} OR newman run {{collectionUrl}}
Versuchen wir, eine Beispielsammlung mit Postman auszuführen.
- Wechseln Sie zur Postman-Anwendung, verwenden Sie eine vorhandene Postman-Sammlung und exportieren Sie sie in das JSON-Formular. (Wir werden eine neue Sammlung mit 3 Anforderungen erstellen, d. H. Benutzer registrieren, Benutzer anmelden und Benutzer mithilfe des API-Endpunktformulars abrufen Hier ).
- Exportieren Sie nun die Sammlung in das JSON-Format.
- Sobald der Sammlungs-JSON erhalten wurde, öffnen Sie eine Eingabeaufforderung und führen Sie die Sammlung mit dem Newman-Befehl run aus (angenommen, die Sammlung wurde mit dem Namen exportiert - Postman_Newman_IntegrationCollection .json) und der Benutzer hat zum Sammlungsexportverzeichnis navigiert, dann kann die Sammlung einfach mit dem folgenden Befehl ausgeführt werden.
newman run Postman_Newman_IntegrationCollection.json
Sobald der obige Befehl ausgeführt wurde, wird die folgende Ausgabe erzeugt.
Newman-Integration mit Umgebungsvariablen
Sehen wir uns nun die fortgeschritteneren Verwendungen von Newman an. Für eine Sammlung, die keine Umgebungsvariablen benötigt, kann die Sammlung einfach mit dem Newman-Befehl run ausgeführt werden. Für Sammlungen, die Umgebungsvariablen verwenden, müssen wir jedoch auch die Umgebungsvariable JSON zusammen mit der Sammlungs-JSON bereitstellen.
Beispiel: Wir werden dieselbe Sammlung verwenden und eine Umgebungsvariable für den GET-Benutzerendpunkt verwenden, d. H. Für die Anforderung mit Endpunkt .
Wir werden userId aus der Umgebungsvariablensammlung verwenden. Die resultierende Anforderung wird also zu https://reqres.in/api/users/{{userId}}
Nachdem die Umgebungsdatei erstellt wurde, exportieren Sie sie mithilfe der folgenden Schritte als JSON.
- Erstellen Sie eine Umgebung mit einer Variablen namens userId, und der Wert sollte auf '4' gesetzt werden.
- Klicken Sie nun auf die Schaltfläche 'Einstellungen', um das Fenster 'Umgebungen verwalten' zu öffnen.
- Klicken Sie auf das Symbol 'Herunterladen' für die erstellte Umgebung, um die Umgebung als JSON-Datei herunterzuladen (speichern Sie die Datei mit dem Namen 'testEnv.json').
Exportieren Sie die Sammlung mit der geänderten Anforderung erneut und versuchen Sie, dieselbe Sammlung zusammen mit der Umgebungsdatei mit dem folgenden Befehl auszuführen:
newman run Postman_Newman_IntegrationCollection.json -e testEnv.json
Sobald der obige Befehl ausgeführt wurde, bleibt die Ausgabe dieselbe wie beim direkten Erfassungslauf. Die einzige Änderung besteht darin, dass die Anforderung 'GET User' jetzt den Wert aus der JSON-Umgebungsdatei abruft.
Assertionsergebnisse mit Newman
Da die Postman-Anforderungen auch Zusicherungen enthalten können, werden wir nun erläutern, wie die Assertionsergebnisse angezeigt werden, wenn die Postman-Sammlungen über einen Newman ausgeführt werden.
Der Newman-Sammlungsläufer steht in völliger Parität mit dem Postman-Sammlungsläufer und dem Anforderungsausführenden. Bei Anforderungen mit Zusicherungen werden die Zusicherungen ausgewertet, sobald die Anforderungsausführung abgeschlossen ist, und die Zusammenfassung der Zusicherungsausführung wird am Ende des Testlaufs in der Testzusammenfassung angezeigt.
Für die obige Sammlung haben wir eine Zusicherung auf Sammlungsebene hinzugefügt, um den Statuscode der Antwort auf 200 zu überprüfen, d. H. Für jede Anforderung, die Teil der Sammlung ist, sollte diese Zusicherung zugeordnet sein.
Wenn diese Sammlung also 3 Anforderungen hatte, bedeutet dies, dass es insgesamt 3 Zusicherungen geben sollte, die ausgeführt werden sollten.
Im folgenden Screenshot finden Sie hervorgehobene Ausführungsergebnisse und Assertionsergebnisse.
Berichterstellung mit Newman
Bisher wissen wir, dass Newman Postman-Sammlungen über die Befehlszeile ausführen und einige Testprotokolle und eine Zusammenfassung der Testausführung generieren kann. Aber was ist mit den formatierten Berichten, die auf einem Server freigegeben oder veröffentlicht werden könnten?
Nun, Newman hat auch Unterstützung dafür. Es stehen einige benutzerdefinierte Knotenmodule zum Generieren von Newman-Testausführungsberichten zur Verfügung. Wir werden ein Beispiel anhand von a durchgehen Newman-HTML-Reporter .
Dieser Reporter ist wieder ein Knotenmodul und muss mit dem folgenden Befehl separat installiert werden.
npm install -g newman-reporter-html
Sobald das obige Modul installiert ist, kann es zusammen mit dem Newman-Befehl run verwendet werden.
newman run Postman_Newman_IntegrationCollection.json -e testEnv.json -r html
Das Flag '-r' gibt den Reporter an, der für den Newman-Erfassungslauf verwendet werden soll.
Mit dieser Option wird das Newman-Reporter-HTML-Modul oder die Newman-Reporter-HTML-Pakete verwendet und ein HTML-basierter Bericht für die Testausführung erstellt.
Sehen Sie sich einen solchen Screenshot des unten gezeigten HTML-Berichts an:
Integration mit CI Tools
Da Newman über die Funktionen verfügt, die als Befehlszeile ausgeführt werden können, wird die Abhängigkeit von allen Voraussetzungen in Form einer Konsole oder einer Anwendung erheblich verringert. Die einzige Abhängigkeit, die Newman hat, ist ein Knoten (der im Allgemeinen als Ausführung verfügbar ist) Umgebung in allen CI-Maschinen wie Jenkins-Slaves oder Travis-Knoten).
Auf diese Weise können Postman-Sammlungen als Teil der Build-Pipelines selbst über die Newman-Befehlszeile ausgeführt werden.
Da Newman die Möglichkeit hat, Ergebnisse auch im HTML-Format zu übertragen, ist dies sehr hilfreich und praktisch. Während der Pipeline-Ausführung selbst können die HTML-Ergebnisse an einen Server übertragen oder per E-Mail an die gewünschten Benutzer usw. gesendet werden Die Möglichkeiten sind endlos, da die Abhängigkeiten minimal sind.
Ein ausführliches Beispiel für die ausführliche Ausführung der Integration mit Jenkins finden Sie in diesem Beispiel im offiziellen Blog von Postman Hier .
Weitere Optionen mit Newman
Was auch immer wir behandelt haben, ist eine Teilmenge der von Newman bereitgestellten Funktionen. Um vollständige Informationen zu den von Newman unterstützten Befehlen und Schaltern zu erhalten, öffnen Sie einfach die Befehlszeilenhilfe für Newman mit dem folgenden Befehl.
newman run -h
Hier ist die Ausgabe des obigen Befehls mit Details zu allen Schaltern und deren Bedeutung.
Es gibt auch andere Informationsquellen für die Newman-API-Referenz. Siehe Hier für die offizielle Dokumentation.
Fazit
In diesem Tutorial haben wir die Befehlszeilenintegration von Postman namens Newman beschrieben, mit der Postman-Sammlungen über eine Befehlszeilenschnittstelle ausgeführt werden können.
Es handelt sich lediglich um ein Knotenpaket, und jede Befehlszeile, auf der Node zusammen mit Newman installiert ist, sollte in der Lage sein, die Postman-Sammlung auszuführen und gut aussehende Berichte über die Ausführung der Sammlung zu erstellen.
Die Befehlszeilenintegration ist auch eine große Hilfe für die Integration von Postman-basierten Sammlungstests mit CI-Tools wie Jenkins, Travis usw., da das Ausführen über die Befehlszeile keine Abhängigkeiten vom Betriebssystem oder der Anwendung aufweist und lediglich die Knotenumgebung zum Ausführen des Tests benötigt Sammlung.
=> Besuchen Sie hier für die exklusive Postman Training Tutorial-Reihe.
Literatur-Empfehlungen
- Befehl in Unix mit Beispielen ausschneiden
- Unix Cat-Befehlssyntax, Optionen mit Beispielen
- Ls-Befehl unter Unix mit Beispielen
- Wie und wann werden Postman Pre-Request- und Post Request-Skripte verwendet?
- Grep-Befehl unter Unix mit einfachen Beispielen
- Befehlszeilenargumente in C ++
- Unix-Sortierbefehl mit Syntax, Optionen und Beispielen
- Befehlszeilenargumente in Unix Shell Script mit Beispiel