Ersetzen von Parametern in einer URL-Anforderung

Wichtig

Diese Version von Operations Manager hat das Supportende erreicht. Sie sollten ein Upgrade auf Operations Manager 2019 durchführen.

Wenn Sie eine Webanwendung mit dem Webanwendungs-Editor erfassen, können dabei eindeutige Informationen in einer oder mehreren Anforderungen enthalten sein, die sich jedes Mal ändern, wenn Sie eine Verbindung mit der Anwendung herstellen. Diese Informationen sind in der Regel in der Antwort auf eine Anforderung enthalten und werden dann von einer oder mehreren nachfolgenden Anforderungen verwendet.

Ein Beispiel: Eine Anwendung erstellt eine eindeutige Sitzungs-ID, wenn sich ein Benutzer anmeldet. Diese Sitzungs-ID muss nach dem Anmeldevorgang in jeder Anforderung enthalten sein. Ohne die richtige Sitzungs-ID tritt bei jeder dieser Anforderungen ein Fehler auf. Da Sie diesen Wert vor Ausführung der ersten Anforderung nicht kennen, kann er nicht explizit in die Konfiguration der Anforderung eingeschlossen werden. Wenn Sie die Webanwendung durch Aufzeichnen einer Browsersitzung erstellen, wird die Sitzungs-ID in der URL jeder Anforderung erfasst. Wenn die Anwendung jedoch ausgeführt wird, tritt bei den Anforderungen ein Fehler auf, weil die Sitzungs-ID einen Wert aufweist, der sich von der ID der aufgezeichneten Sitzung unterscheidet.

Um eine solche Anwendung zu konfigurieren, können Sie einen Kontextparameter aus dem Antworttext einer Anforderung extrahieren und den Wert dieses Parameters in einer oder mehreren nachfolgenden Anforderungen verwenden. Dann ersetzen Sie den expliziten Wert in nachfolgenden Anforderungen durch eine Variable, die den Parameter repräsentiert. Bei jeder Ausführung der synthetischen Transaktion wird der Parameter in derjenigen Anforderung aufgefüllt, in der er definiert ist. Wenn die Variable in nachfolgenden Anforderungen verwendet wird, wird sie durch den erfassten Wert ersetzt, bevor die Anforderung an die Anwendung gesendet wird.

Eine einzelne Anwendung kann eine beliebige Anzahl von Kontextparametern verwenden. Eine beliebige Anzahl von Anforderungen kann einen einzelnen Parameter verwenden. Diese Anforderungen müssen aber nach der Anforderung ausgeführt werden, in der der Parameter definiert ist.

Beispiel für Sitzungs-ID

Sehen Sie sich dieses Beispiel an, in dem eine Anwendung eine Sitzungs-ID erstellt, wenn ein Benutzer sich anmeldet. Diese Sitzungs-ID ist in jeder Anforderung nach der Anmeldeseite erforderlich. Um dieses Szenario zu implementieren, müssen Sie die Sitzungs-ID erfassen, wenn diese zum ersten Mal generiert wird, und diesen Wert dann in jeder nachfolgenden Anforderung verwenden.

Als Erstes befolgen Sie das unter Erfassen einer Webanwendungsaufzeichnung beschriebene Verfahren, um die Anmeldung und nachfolgende Aktionen zu erfassen. Die aufgezeichnete Sitzung zur Anmeldung bei der Anwendung und Ausführung einiger Aktionen könnte etwa wie im folgenden Beispiel aussehen.


http://www.myapp.com/home.aspx

http://www.myapp.com/search.aspx?query=testing&sessionid=32793279321721

http://www.myapp.com/results.aspx?sessionid=32793279321721

http://www.myapp.com/submit.aspx?sessionid=32793279321721

In dieser Anforderungssequenz wird die Sitzungs-ID durch die erste Anforderung erstellt und in der zweiten, dritten und vierten Anforderung verwendet. Wenn Sie diesen Monitor ausführen, tritt ein Fehler auf, weil die erste Anforderung eine neue Sitzungs-ID generiert, die mit der beim Erfassen der Sitzung verwendeten Sitzungs-ID nicht übereinstimmt.

Zur Konfiguration dieser Anforderungssequenz mit Parameterersetzung müssen Sie in der ersten Anforderung eine Extraktionsregel erstellen, um einen Kontextparameter für die Sitzungs-ID zu erstellen. Die Extraktionsregel untersucht den Text der Anforderung, um den Wert für die Variable „sessionid“ zu finden. Danach ändern Sie die nachfolgenden Anforderungen so, dass sie diesen Parameter anstelle des Werts für die Sitzungs-ID verwenden.

Die geänderten Anforderungen sollten ähnlich wie im folgenden Beispiel aussehen.


http://www.myapp.com/home.aspx

http://www.myapp.com/search.aspx?query=testing&sessionid=$ParametersContext/sessionID$

http://www.myapp.com/results.aspx?sessionid=$ParametersContext/sessionID$

http://www.myapp.com/submit.aspx?sessionid=$ParametersContext/sessionID$

Erstellen einer Extraktionsregel

Kontextparameter werden durch Extraktionsregeln, wobei jede Extraktionsregel einen einzelnen Kontextparameter erfasst. Sie erstellen eine Extraktionsregel im Dialogfeld Eigenschaften der Anforderung, mit der die erforderlichen Daten anfänglich generiert werden. Um den zu extrahierenden Wert zu ermitteln, müssen Sie sich den Text der Antwort ansehen, die von der jeweiligen Anforderung zurückgegeben wird. Sie können sich entweder den Quelltext der zurückgegebenen Seite im Browser ansehen oder ein Tool verwenden, mit dem Sie die Details von HTTP-Antworten untersuchen können. Sie können den Text nicht mithilfe des Webanwendungs-Editors anzeigen.

Wenn Sie die Anforderung ermittelt haben, die die zu extrahierenden Informationen enthält, zeigen Sie die Registerkarte Extraktionsregeln in den Eigenschaften dieser Anforderung an und erstellen eine oder mehrere Extraktionsregeln. Die Details der einzelnen Extraktionsregeln werden in der folgenden Tabelle aufgeführt.

Option Description
Kontextparametername Geben Sie einen Namen für den Kontextparameter ein.
Startet mit Geben Sie den Teil des Antworttexts ein, der den Anfang des Parameterwerts identifiziert. Sie müssen genügend Zeichen eingeben, um sicherzustellen, dass die Zeichenfolge eindeutig ist. Der Wert für den Parameter beginnt unmittelbar nach dem letzten angegebenen Zeichen.
Endet mit Geben Sie den Teil des Antworttexts ein, der das Ende des Parameterwerts identifiziert. Der Wert für den Parameter endet unmittelbar vor dem ersten angegebenen Zeichen.
Index Wenn der Text im Feld Beginnt mit mehrmals vorkommt, gibt dieser Wert an, welcher Wert verwendet werden soll. Wenn der Text nur einmal vorkommt oder das erste Vorkommen den zu extrahierenden Text anzeigt, muss dieser Wert 0 sein. Wenn der zweite Wert extrahiert werden soll, muss dieser Wert 1 sein usw.
Groß-/Kleinschreibung bei der Suche nach übereinstimmendem Text ignorieren Gibt an, ob die Groß- und Kleinschreibung der Zeichen ignoriert werden soll, die durch die Felder Beginnt mit und Endet mit gesucht werden.
URI-Codierung der extrahierten Zeichenfolgen ausführen Gibt an, ob die extrahierte Zeichenfolge nach der Erfassung codiert werden soll.

Einfügen eines Parameters in eine Anforderung

Sie verwenden einen Parameter in einer Anforderung, indem Sie den expliziten Wert durch eine Variable ersetzen, die den Parameter repräsentiert. Das Format der Variable lautet „$ParametersContext/<ContextParameterName>$“. Beim Ausführen der Anforderung wird die Variable durch die vom Parameter extrahierten Daten ersetzt.

Sie können die Variable mit einer der beiden folgenden Methoden in die Anforderung einfügen:

  • Klicken Sie im Dialogfeld Anforderungseigenschaften auf die Registerkarte Allgemein, und klicken Sie dann auf Anforderungs-URL, um die Anforderungs-URL für die Anforderung zu ändern.
  • Klicken Sie im Dialogfeld Anforderungseigenschaften auf die Registerkarte Allgemein, und klicken Sie dann auf die Schaltfläche Parameter einfügen. Verwenden Sie das Dialogfeld Parameter einfügen für die Anforderung. Der Zugriff erfolgt über die Schaltfläche Parameter einfügen auf der Registerkarte Allgemein im Dialogfeld Anforderungseigenschaften für die Anforderung.

Beispiel für die Verwendung der Parameterextraktion in einer Webanwendung

Das folgende Verfahren stellt ein Beispiel für die Verwendung der Parameterextraktion in einer Webanwendung dar. Dieses Beispiel führt eine Abfrage für den ersten Eintrag im Abschnitt Aktuell beliebt der Bing-Homepage. Da sich dieser Wert regelmäßig ändern, müssen Sie zuerst eine Verbindung mit der Hauptseite herstellen und den Suchbegriff aus dem Text der Antwort erfassen. Dann verwenden Sie diesen Begriff, um die Anforderung zum Durchführen der tatsächlichen Suche zu erstellen.

Unten ist die Bing-Hauptseite mit hervorgehobenen Abschnitt Aktuell beliebt dargestellt.

Bing Homepage

Um zu ermitteln, an welcher Stelle des Antworttexts der Suchbegriff zu finden ist, können Sie die Quelle der Seite anzeigen. Die folgende Abbildung zeigt einen Teil der Quelle mit dem HTML-Code des Abschnitts Aktuell beliebt. In diesem HTML-Code benötigen Sie nur die Suchzeichenfolge, die in der Abbildung hervorgehoben ist. Die Anforderung wird aus http://www.bing.com gefolgt von dieser Zeichenfolge gebildet.

Bing Popular Now Search String

Sie könnten einfach den Begriff selbst extrahieren, aber es ist einfacher, die gesamte Zeichenfolge in den Parameter einzuschließen. Vor dieser Zeichenfolge stehen die Zeichen h3>Aktuell beliebt</h3><ul><li><a href=>, und die Zeichenfolge endet mit dem nächsten Vorkommen von >. Dies sind die Werte, die Sie verwenden, wenn Sie die Parameterextraktion definieren.

Aufzeichnen einer Beispielwebanwendung

  1. Verwenden Sie das in Erfassen einer Webanwendungsaufzeichnung erläuterte Verfahren, um eine Webanwendung aufzuzeichnen.
  2. Stellen Sie während der Aufzeichnung eine Verbindung mit http://www.bing.com her.
  3. Optional können Sie auch in Ihrem Browser die Quelle der Bing-Homepage anzeigen und den Abschnitt Aktuell beliebt im HTML-Code suchen.
  4. Klicken Sie auf den ersten Suchbegriff unter Aktuell beliebt.
  5. Speichern Sie die Aufzeichnung in der Webanwendung.
  6. Entfernen Sie die letzte Anforderung, da diese nicht erforderlich ist. Um die letzte Anforderung zu entfernen, wählen Sie diese aus, und klicken Sie im Bereich Aktionen auf Löschen. Die resultierenden Anforderungen sollten den folgenden URLs ähneln:

Bing Web Application Recorded

So erstellen Sie eine Extraktionsregel

  1. Wählen Sie die erste Anforderung aus, und klicken Sie im Bereich Aktionen auf Eigenschaften.

  2. Wählen Sie die Registerkarte Extraktionsregeln aus.

  3. Klicken Sie auf Hinzufügen. Das Dialogfeld Extraktionsregel hinzufügen wird geöffnet.

  4. Geben Sie im Dialogfeld Extraktionsregel hinzufügen im Feld Kontextparametername die Zeichenfolge SearchString ein.

  5. Geben Sie im Feld Beginnt mit diese Zeichenfolge ein: h3Aktuell beliebt</h3><ul><li><a href=>.

  6. Geben Sie im Feld Endet mit ein doppeltes gerades Anführungszeichen ein: ". Die Extraktionsregel sollte so aussehen wie in der folgenden Abbildung.

    Extraction Rule

  7. Klicken Sie auf OK, um die Extraktionsregel zu speichern und zu schließen.

  8. Klicken Sie auf OK, um die Anforderung zu speichern und zu schließen.

So fügen Sie einen Parameter in eine Anforderung ein

  1. Wählen Sie die zweite Anforderung aus, und klicken Sie im Bereich Aktionen auf Eigenschaften.

  2. Klicken Sie auf der Registerkarte Allgemein auf Parameter einfügen.

  3. Löschen Sie im Feld Zeichenfolge sämtlichen Text nach www.bing.com/.

  4. Positionieren Sie den Cursor am Ende der URL, direkt hinter www.bing.com, wählen Sie im Feld Parameter den Eintrag SearchString aus, und klicken Sie auf Einfügen. Damit wird die Variable „$ParametersContext/SearchString$“ eingefügt. Die endgültige Anforderung ähnelt der folgenden Abbildung.

    Insert Parameter

  5. Klicken Sie auf OK , um das Dialogfeld zu schließen.

  6. Klicken Sie auf OK, um die Anforderung zu speichern und zu schließen. Die geänderte Anforderungssequenz sollte der folgenden Abbildung ähneln.

    Bing Web Application Modified

  7. Klicken Sie auf Anwenden, um die Änderungen zu übernehmen, und schließen Sie dann den Webanwendungs-Editor.