Automatisierung und Tests
Nutze eine Sammlung für wiederholbare Anfragen, eine Kette für Werte aus vorherigen Antworten und einen Zeitplan für regelmäßig auszuführende gespeicherte Anfragen.
Eine Sammlung ausführen
Öffne den Sammlungsläufer, wähle die Umgebung und lege die Iterationen fest. Ergänze bei Bedarf eine Pause zwischen Aufrufen. Entscheide, ob eine fehlgeschlagene Anfrage oder Assertion den Lauf abbrechen soll. Starte den Lauf und prüfe die Ergebnisse.
Für wechselnde Eingaben lade eine CSV-Datei mit Spaltennamen oder ein JSON-Array aus Objekten:
orderId,expectedStatus
1001,200
1002,404
Die Anfrage {{baseUrl}}/orders/{{orderId}} erhält die orderId aus der Zeile. Das Skript nach der Anfrage liest den erwarteten Status mit pm.iterationData.get("expectedStatus"). Jede Zeile liefert eine Iteration.
Das Ergebnis enthält Status, Dauer und fehlgeschlagene Assertions. Der Verlauf bewahrt Dateinamen und Zeilenanzahl der Eingaben auf. Exportiere JUnit XML für CI oder HTML zum Lesen. Prüfe Berichte vor der Weitergabe, besonders bei persönlichen oder vertraulichen API-Daten.
Ein gezieltes Skript schreiben
Ein Skript vor der Anfrage bereitet Werte vor. Ein Skript danach prüft die Antwort. Füge dieses Beispiel im Editor für das Skript nach der Anfrage ein:
pm.test("Expected status", function () {
const expected = Number(pm.iterationData.get("expectedStatus") || 200);
pm.expect(pm.response.code).to.equal(expected);
});
if (pm.response.code === 200) {
const body = pm.response.json();
pm.environment.set("orderId", String(body.id));
}
Verwende pm.response.text(), pm.response.json(), pm.response.headers.get("Content-Type") und pm.response.responseTime. Die API bietet außerdem pm.environment, pm.variables, pm.collectionVariables, schreibgeschützte pm.request-Metadaten, pm.iterationData, pm.test, Chai-artige pm.expect-Assertions und console.log.
pm.sendRequest führt einen zusätzlichen HTTP-Aufruf mit Callback aus. Dieser ist abgeschlossen, bevor die Funktion zurückkehrt. Skripte laufen in einer JavaScript-Sandbox mit fünf Sekunden Zeitlimit, ohne Node.js-Module oder .NET-Zugriff. Prüfe importierte Skripte anhand dieser APIs; nicht jede Postman-Erweiterung wird unterstützt. Skripte und bearbeitbare Authentifizierung auf Sammlungsebene werden nicht unterstützt.
Werte in einer Kette weitergeben
Erstelle eine Kette, ergänze gespeicherte Anfragen in der gewünschten Reihenfolge und wähle eine Umgebung. Eine JSONPath-Extraktion wie $.id speichert den Antwortwert als orderId. Der nächste Schritt kann {{orderId}} verwenden.
Bedingungen prüfen, ob eine Variable vorhanden ist, einem Wert entspricht oder Text enthält. Mehrere Prüfungen werden mit AND oder OR kombiniert. Eine nicht erfüllte Bedingung überspringt den Schritt. Aktiviere den Abbruch bei Fehlern, wenn spätere Schritte vom vorherigen Erfolg abhängen. Die Details unterscheiden übersprungene von fehlgeschlagenen Schritten.
Einen Desktop-Mock erstellen
Öffne den Mock-Editor, erstelle einen Servereintrag und ergänze Routen mit Protokoll, Methode oder Operation, Pfad, Antwort und optionaler Verzögerung. Vorlagen, Duplizieren und die Prüfung der Routenpriorität helfen bei der Einrichtung. Auch eine HTTP-Antwort aus dem Verlauf lässt sich als Route speichern.
HTTP-Routen liefern eine genaue Antwort oder erzeugen Daten aus einem Vertrag. Prüfe Beispiele und Szenarien. Unter Verträge erfährst du, wie Modelle importiert oder veröffentlichte Versionen fest zugeordnet werden. Desktop-Mocks unterstützen auch gRPC-Antworten und WebSocket-Nachrichtenfolgen.
Diese Mocks sind kostenlos und beantworten Aufrufe innerhalb von Echo, ohne einen Netzwerkport zu öffnen. Eine gemeinsame HTTP-URL erfordert kostenpflichtiges öffentliches Hosting. Für Regeln in deiner .NET-Anwendung oder Offline-Snapshots lies den Paketleitfaden.
Eine Anfrage planen
Speichere die Anfrage, öffne den Zeitplan und wähle Umgebung, Cron-Ausdruck und Ausführungsmodus. Lege den Aktivstatus fest und prüfe den nächsten angezeigten Lauf. */15 * * * * fordert beispielsweise alle fünfzehn Minuten eine Ausführung an.
Desktop-Zeitpläne benötigen eine laufende Echo-Anwendung und einen eingeschalteten Rechner. Gehostete Zeitpläne laufen auf Gapfy-Servern weiter und benötigen einen kostenpflichtigen Tarif und die entsprechende Berechtigung. Sie unterstützen HTTP sowie GraphQL-Queries und -Mutations mit mindestens fünf Minuten Abstand. gRPC, WebSocket, SSE und GraphQL-Subscriptions werden nicht unterstützt.
Warte auf die Bestätigung, dass der Zeitplan den Server erreicht hat. Ein vorgemerkter Speichervorgang oder eine normale Synchronisierung ist keine solche Bestätigung. Prüfe letztes Ergebnis, Fehlermeldung und Referenzdauer. Passe den Regressionsschwellenwert an oder setze die Referenz zurück, wenn sie nicht mehr sinnvoll ist. Maestro zeigt ebenfalls gehostete Ergebnisse und synchronisierte Zusammenfassungen von Sammlungsläufen.
Im Terminal ausführen
Die CLI gapfy-echo führt Ordner im Echo-Format ohne Desktop aus. Sie benötigt .NET 11 und Zugriff auf ihr Paket im Gapfy-Feed. Sie ist vom stabilen Offline-Werkzeug echo-mock im Paketleitfaden getrennt.
Mit installierter CLI führe einen Export eines verknüpften Ordners so aus:
gapfy-echo run collection ./orders --env Development --data ./rows.csv --bail --junit ./results/run.xml --html ./results/run.html
Optionen umfassen Iterationen, Zeitlimit je Anfrage, Proxy und ausführliche Diagnosen. Zum Auflisten und Herunterladen von Serversammlungen verwende --server und einen Anwendungsschlüssel mit RunCollections. Die Anfragen laufen auf der CLI-Maschine; Ergebnisse werden nicht automatisch hochgeladen.
Ketten nutzen ausdrücklich angelegte Begleitdateien chains/*.chain.json, run chain und --chain. Der Export verknüpfter Ordner erzeugt diese Dateien nicht. OAuth mit Browseranmeldung ist in der CLI nicht verfügbar. Exitcodes: 0 für einen abgeschlossenen Lauf ohne Fehler, 1 für Anfrage- oder Assertionfehler, 2 für Aufruf-, Lade- oder Berichtsfehler und 130 für Abbruch. Prüfe auch die Anzahl ausgeführter Anfragen: Eine leere Sammlung kann ohne Aufruf enden.
KI-Assistenten können Assertions, Testsuiten und Verbesserungen an Ketten zur Prüfung vorbereiten.