Mehrstufige API-Prüfungen
Was eine mehrstufige API-Prüfung ist
Eine mehrstufige API-Prüfung führt eine geordnete Folge von HTTP-Anfragen als eine einzige Prüfung aus und gibt dabei Daten aus früheren Antworten an spätere Anfragen weiter. Anstatt einen Endpunkt isoliert zu überwachen, können Sie einen echten Arbeitsablauf nachbilden, zum Beispiel: sich anmelden, ein Authentifizierungs-Token erfassen, dann einen authentifizierten Endpunkt aufrufen und dessen Antwort prüfen.
Dies ist der richtige Prüfungstyp, wann immer eine einzelne Anfrage nicht beweisen kann, dass Ihre API tatsächlich durchgängig funktioniert:
- Authentifizieren, ein Token extrahieren und damit einen geschützten Endpunkt aufrufen.
- Eine Ressource erstellen, ihre
iderfassen und sie dann lesen oder löschen. - Eine Suchanfrage in eine Detailanfrage verketten.
- Eine kurze Benutzerreise über mehrere Endpunkte der Reihe nach durchlaufen.
Eine mehrstufige API-Prüfung erstellen
Mehrstufige Prüfungen gibt es nur in kostenpflichtigen Tarifen. Eine Prüfung kann bis zu 10 Schritte haben, und jeder Lauf wird pro Schritt und Standort abgerechnet.
- Öffnen Sie die Seite für neue API-Prüfung.
- Wählen Sie den Prüfungstyp Multistep API.
- Geben Sie der Prüfung einen benutzerfreundlichen Namen (wird in Warnungen und Berichten verwendet).
- Fügen Sie Ihre Schritte in der Reihenfolge hinzu, in der sie ausgeführt werden sollen.
Für die gemeinsamen Einstellungen (Häufigkeit, Standorte, Benachrichtigungskanäle, Aktivieren/Stummschalten) siehe So erstellen Sie eine neue API-Prüfung; eine mehrstufige Prüfung verwendet dieselben Optionen.
Geordnete Schritte hinzufügen
Jeder Schritt ist seine eigene HTTP-Anfrage mit:
- Einem Schrittnamen.
- Einer HTTP-Methode (GET, POST, PUT, PATCH, DELETE, HEAD, OPTIONS).
- Einer URL.
- Headern und einem Anfrage-Body, hinter dem Umschalter Headers / Body.
- Einer oder mehreren Assertions.
Die Schritte werden der Reihe nach, von oben nach unten ausgeführt. Der erste Schritt läuft, dann der zweite und so weiter. Sie können die Schritte neu anordnen, wenn sich Ihr Arbeitsablauf ändert.
Daten zwischen Schritten weitergeben
Die Stärke einer mehrstufigen Prüfung liegt darin, Daten aus einer Antwort in die nächste Anfrage zu übernehmen.
Einen Wert aus der Antwort eines Schritts extrahieren
Klicken Sie in einem Schritt auf Add extract rule, geben Sie einen Variable name ein und wählen Sie, woher der Wert stammt:
- Body (JSON): Geben Sie einen JSON-Pfad wie
user.idoderdata.tokenein. Verwenden Sie Punkte für verschachtelte Felder und eine Zahl für eine Array-Position, zum Beispielitems.0.id. - Header: Geben Sie den Header-Namen ein, zum Beispiel
LocationoderSet-Cookie. - Status code.
Der Wert wird in der von Ihnen benannten Variable gespeichert. Eine Regel läuft nur, wenn ihr Schritt bestanden hat.
Die Variable in einem späteren Schritt referenzieren
Verwenden Sie einen {{variable}}-Platzhalter an beliebiger Stelle in der URL, den Headern oder dem Body eines späteren Schritts. Zur Laufzeit ersetzt LoadFocus den erfassten Wert.
Erfassen Sie beispielsweise ein Token aus Schritt 1 in einer Variable namens token und senden Sie es dann in Schritt 2:
Authorization: Bearer {{token}}
Variablen werden in der Reihenfolge der Schritte aufgelöst, sodass ein Schritt nur Werte verwenden kann, die frühere Schritte bereits extrahiert haben. Ein Platzhalter, dessen Variable nie gesetzt wurde, wird durch leeren Text ersetzt, ohne dass ein Fehler auftritt. Prüfen Sie also den Variablennamen, wenn sich ein späterer Schritt merkwürdig verhält.
Assertions und Bestanden/Fehlgeschlagen
Jeder Schritt hat seine eigenen Assertions zu Statuscode, Antwortzeit oder Body. Die Schritte werden zu einem aggregierten Ergebnis kombiniert:
- Wenn jeder Schritt besteht, besteht die Prüfung.
- Wenn ein Schritt fehlschlägt (die Anfrage schlägt fehl oder eine Assertion schlägt fehl), stoppt die Kette bei diesem Schritt und die gesamte Prüfung wird als fehlgeschlagen markiert, und spätere Schritte werden nicht ausgeführt.
Dieses Fail-Fast-Verhalten spiegelt einen echten Arbeitsablauf wider: Wenn die Anmeldung fehlschlägt, ist es sinnlos, den authentifizierten Endpunkt aufzurufen.
Ergebnisse pro Schritt im Bericht
Der Prüfungsbericht zeigt Ergebnisse pro Schritt, sodass Sie genau sehen können, wo eine Sequenz abgebrochen ist: Name, Statuscode und Dauer jedes Schritts, welche Assertions bestanden oder fehlgeschlagen sind und welche Werte er extrahiert hat. Unter den Schritten steht ein Diagramm Duration over time. So lässt sich leicht feststellen, ob ein Fehler bei der Authentifizierung, im nachgelagerten Aufruf oder in einer Assertion lag.
Alle Ihre Prüfungen finden Sie auf der API-Monitore-Seite.