Um die API richtig zu überwachen, wirst Du häufig mehrere HTTP-Anfragen verwenden müssen. In der Regel wirst Du eine Reihe von Anfragen einrichten, bei der jede neue Anfrage ein oder mehrere Daten aus einer vorherigen Anfrage enthält.

Mögliche Gründe für die Ausführung einer Reihe von HTTP-Anfragen sind:

  • Deine API erfordert einen authentifizierten Zugang. Um eine Methode in der tatsächlichen API aufzurufen, muss zunächst ein API-Client authentifiziert werden (zum Beispiel unter Nutzung der OAuth Authentication).
  • Du möchtest ein funktionierendes Szenario bestehend aus mehreren Schritten in Deiner API testen, das üblicherweise in einer speziellen Reihenfolge von den Endnutzern ausgeführt wird.
  • Eine Deiner HTTP-Anfragen gibt eine Weiterleitung zu einer anderen URL zurück, aber Du möchtest die Antwort untersuchen, bevor sie der Weiterleitung folgt.

Für jedes dieser Szenarien passt das Multi-step API Monitoring großartig!

Ein API-Szenario kann als einzelner Schritt beginnen, aber Du kannst selbst mehr Schritte hinzufügen und später die Szenarien erweitern. Du hast die volle Kontrolle über den kompletten HTTP-Abfrageinhalt. Die Funktionen:

Diese Funktionen stellen sicher, dass Deine API sich richtig verhält und innerhalb der von Dir spezifizierten Grenzen arbeitet. Dieser schrittweise Ansatz ermöglicht Dir, ohne Schwierigkeiten sehr mächtige Szenarien einzurichten. Sofern Du weißt, wie Deine API sich verhalten sollte, benötigst Du keine Programmierkenntnisse, um das API-Monitoring aufzunehmen.

Das mehrstufige API Monitoring-Prüfobjekt erstellen

Um ein mehrstufiges API Monitoring-Prüfobjekt zu erstellen:

  1. Wähle + Prüfobjekt hinzufügen aus dem Menü Prüfobjekte.
  2. Wähle Multi-step API aus der Liste unter Typ.
  3. Gib Deinem Prüfobjekt einen Namen.
  4. Wechsele zur Registerkarte Steps, um die Details für jeden Schritt anzugeben. 

Dein neues Prüfobjekt beginnt mit einem (leeren) Schritt. Klicke einfach auf die Schaltfläche + Add step, um zusätzliche Schritte hinzuzufügen. Du siehst, wie die Liste der Schritte sich erweitert. Klicke auf einen Schritt, um die Details zu bearbeiten. Um einen Schritt zu entfernen, klicke auf die Schaltfläche Delete step, die erscheint, wenn Du mit der Maus über den Schritt in der Liste fährst.

Klicke auf die Schaltfläche Duplicate step, um eine Kopie eines bestehenden Schritts zu erstellen.

Einen Schritt konfigurieren

Im ersten Schritt des Prüfobjekts wirst Du zwei Registerkarten auf der rechten Seite bemerken. Request und Response. Sehen wir sie uns an.

Request

Request in Multi-step API Monitoring

Die Registerkarte Request enthält alle benötigten Daten, um eine tatsächliche HTTP-Anfrage in dem Schritt auszuführen. Mindestangaben:

  1. Wähle die geeignete HTTP-Methode ( GET, POST, PUT oder DELETE. Schreibe uns über Kontakt, wenn Du eine andere Methode benötigst).
  2. Gib die URL für die Anfrage ein. Verwende eine qualifizierte URL, einschließlich des Schemas (https:// oder http://), des Domainnamens und Pfads für die API und aller Parameter des Abfragestrings.
  3. Gib optional für diesen Schritt eine kurze Beschreibung ein. Diese Beschreibung wird in den Ergebnissen zum Prüfobjekt gezeigt.

Request body

Bei Angabe einer POST- oder PUT-Anfrage erscheint das Feld Anfrageinhalt. Gib die Daten ein, die als Teil der Anfrage (wahrscheinlich JSON-Daten, XML-Daten oder verschlüsselte Formulardaten) gesendet werden sollen. In den meisten Fällen wird der Server erwarten, dass Du das Format der gesendeten Daten spezifizierst, sodass er weiß, wie sie gelesen und analysiert werden. Dafür musst Du einen Anfrage-Header Content-Type wie im nächsten Abschnitt beschrieben hinzufügen.

Request headers

Eine HTTP-Anfrage enthält üblicherweise einige Anfrage-Header, um das Format der gesendeten Daten zu spezifizieren oder näher zu beschreiben, welche Art Antwort erwartet wird. Um beispielsweise den zuvor genannten Content-Type-Header hinzufügen, folge diesen Schritten::

  1. Klicke auf die Schaltfläche Add request header, um einen Anfrage-Header-Key und -Wert hinzufügen.
  2. Gib Content-Type als den Header-Key ein.
  3. Der entsprechende Header-Wert hängt von den Daten ab, die Du sendest. Die meisten Inhaltstypen sind application/json für JSON-Daten, text/xml für XML-Daten und application/x-www-form-urlencoded für Webform-Daten.

Wenn Deine API erfordert, dass Du eine Authentifizierung einfügst, integriere einen Header Authorization zusammen mit den richtigen Daten in das Feld Value.

Authentifizierung

Viele APIs sind geschützt und sind nur zugänglich durch Angabe von Anmeldedaten. Wenn Deine API Authentifizierung auf HTTP-Protokollebene nutzt, wähle die Art der Authentifizierung (Basic, NTLM oder Digest) und gib den zugehörigen Benutzernamen und Passwort ein. Alternativ kannst du eine OAuth-basierte Authentifizierung anhand separater Schritte einrichten. Weitere Informationen zur Einrichtung einer integrierten oder benutzerdefinierten Authentifizierung.

Response

Variables in Multi-step API Monitoring

Die Registerkarte Response enthält alle Optionen zur Ausführung von Checks bei den Antwortdaten (anhand von Prüfpunkten) und zum Verarbeiten der Daten in Vorbereitung auf den nächsten Schritt (anhand von Variablen).

Assertions

Die Definition der Schritte und Übergabe der korrekten Daten in diese Schritte ist die Grundlage für eine nutzbringende Einrichtung. Es ist jedoch auch wichtig, die Ergebnisse jedes Schritts zu betrachten. Einfach eine Reihe von URLs aufzurufen, reicht nicht, wenn sie nicht die richtigen Ergebnisse zurückgeben. Prüfpunkte helfen bei diesen Statuschecks.

Die Definition der Schritte und Übergabe der korrekten Daten in diese Schritte ist die Grundlage für eine nutzbringende Einrichtung. Es ist jedoch auch wichtig, die Ergebnisse jedes Schritts zu betrachten. Einfach eine Reihe von URLs aufzurufen, reicht nicht, wenn sie nicht die richtigen Ergebnisse zurückgeben. Prüfpunkte helfen bei diesen Statuschecks.

Weitere Beispiele für Prüfpunkte: Lies unsere ausführliche Anleitung zur Definition von Prüfpunkten.

Variablen

Beim Einrichten von mehrstufigen Szenarien ist es wahrscheinlich, dass wenigstens einer der Schritte von dem Input abhängt, der im vorherigen Schritt erhalten wurde. Durch Aufzeichnen der Eingabe, das temporäre Speichern und die Übernahme in den nächsten Schritten erzeugst Du eine natürliche Reihe verbundener Schritte, ohne programmieren zu müssen.

Variablen ermöglichen genau das! Mit jedem Schritt besteht die Möglichkeit, neue Variablen zu erzeugen und auf gespeicherte Variablen zuzugreifen, die in anderen Schritten erstellt wurden. Auf diese Weise können zuvor erfasste Daten Deines Szenarios wiederverwendet werden.

Du kannst definieren, woher die Variablen kommen sollen: wahrscheinlich ein bestimmter Wert von JSON- oder XML-Daten, aber die Aufzeichnung von Antwort-Headern oder auch von Daten aus einer Weiterleitung sind möglich. Nachdem eine Variable definiert wurde, kannst Du sie an jeder Stelle des mehrstufigen Setups verwenden, indem Du einen Bezug zu ihrem Namen herstellst: {{my-variable}}.

Weitere Beispiele von Variablen: Definition und Einsatz von Variablen.

Multi-step Monitoring – Ergebnisse, Fehler und Warnmeldungen

Mehrstufige API-Prüfobjekte verhalten sich wie alle anderen Prüfobjekte. Jede Überprüfung erscheint im Prüfobjektprotokoll und zeigt ausführliche Informationen für jeden einzelnen Schritt. Für jeden Schritt besteht diese Information aus:

  • die Gesamtdauer des Schritts (in Millisekunden),
  • die URL, die während des Schritts aufgerufen wurde,
  • der HTTP-Statuscode, der zurückgegeben wurde,
  • das Ergebnis für jeden Prüfpunkt (in Ordnung oder Fehler),
  • Anfrage-Header und -Inhalt, die wir gesendet haben,
  • Anfrage-Header und -Inhalt, die wir erhalten haben.

Wenn bei einem Schritt ein Problem auftritt oder wenn einer der definierten Prüfpunkte nicht in Ordnung ist, wird das Prüfobjekt einen Fehler melden. Wie üblich können diese Fehler Warnmeldungen basierend auf den von Dir festgelegten Meldedefinitionen ausgeben.

Wenn bei einem Schritt ein Problem auftritt oder wenn einer der definierten Prüfpunkte nicht in Ordnung ist, wird das Prüfobjekt einen Fehler melden. Wie üblich können diese Fehler Warnmeldungen basierend auf den von Dir festgelegten Meldedefinitionen ausgeben.
oderEinbinden eines Client-Zertifikats, um Zugang zu geschützten APIs zu erhalten.