Freigeben über


Hinzufügen von Anforderungen zu URL-basierten Auslastungstests in Azure Load Testing

In diesem Artikel erfahren Sie, wie Sie HTTP-Anforderungen zu einem URL-basierten Auslastungstest in Azure Load Testing hinzufügen. Verwenden Sie einen URL-basierten Auslastungstest, um HTTP-Endpunkte, z. B. Webanwendungen oder REST-Endpunkte, zu validieren, ohne vorherige Kenntnisse über Auslastungstest und Skripts.

Azure unterstützt zwei Möglichkeiten zum Definieren von HTTP-Anforderungen in einem URL-basierten Auslastungstest. Sie können beide Methoden innerhalb eines Auslastungstests kombinieren.

  • Geben Sie die HTTP-Endpunktdetails an, z. B. die Endpunkt-URL, die HTTP-Methode, den Header, die Abfrageparameter oder den Anforderungstext.
  • Geben Sie einen cURL-Befehl für die HTTP-Anforderung ein.

Wenn Sie abhängige Anforderungen haben, können Sie Antwortwerte aus einer Anforderung extrahieren und als Eingabe an eine nachfolgende Anforderung übergeben. Sie können beispielsweise zuerst die Kundendetails abrufen und die Kunden-ID extrahieren, um die Kundenauftragsdetails abzurufen.

Wenn Sie einen URL-basierten Auslastungstest in Ihrem CI/CD-Workflow verwenden, können Sie eine JSON-Datei übergeben, die die HTTP-Anforderungen an Ihren Auslastungstest enthält.

Sie können bis zu fünf Anforderungen zu einem URL-basierten Auslastungstest hinzufügen. Für komplexere Auslastungstests können Sie einen Auslastungstest erstellen, indem Sie ein Apache JMeter-Testskript hochladen. Wenn Sie beispielsweise mehr als fünf Anforderungen haben, wenn Sie Nicht-HTTP-Protokolle verwenden oder wenn Sie JMeter-Plug-Ins verwenden müssen.

Voraussetzungen

Hinzufügen von Anforderungen mit HTTP-Details

Sie können eine HTTP-Anforderung für einen URL-basierten Auslastungstest angeben, indem Sie die HTTP-Anforderungsdetails angeben. In der folgenden Tabelle sind die Felder aufgeführt, die Sie für eine HTTP-Anforderung in Azure Load Testing konfigurieren können:

Feld Details
URL Die URL des HTTP-Endpunkts. Beispiel: https://www.contoso.com/products.
Methode Die HTTP-Methode. Azure Load Testing unterstützt GET, POST, PUT, DELETE, PATCH, HEAD und OPTIONS.
Abfrageparameter (Optional) Geben Sie Abfragezeichenfolgenparameter ein, die an die URL angefügt werden sollen.
HTTP-Header (Optional) Geben Sie HTTP-Header ein, die in die HTTP-Anforderung eingeschlossen werden sollen. Sie können bis zu 20 Header für eine Anforderung hinzufügen.
Anforderungstext (Optional) Abhängig von der HTTP-Methode können Sie den HTTP-Textkörperinhalt angeben. Azure Load Testing unterstützt die folgenden Formate: Rohdaten, JSON-Ansicht, JavaScript, HTML und XML.

Führen Sie die folgenden Schritte aus, um einem URL-basierten Auslastungstest eine HTTP-Anforderung hinzuzufügen:

  1. Wechseln Sie im Azure-Portal zu Ihrer Azure Load Testing-Ressource.

  2. Wählen Sie im linken Navigationsbereich Tests aus, um alle Tests anzuzeigen.

  3. Wählen Sie in der Liste Ihren Auslastungstest und dann Bearbeiten aus.

    Stellen Sie sicher, dass Sie einen URL-basierten Auslastungstest aus der Liste auswählen und dass Erweiterte Einstellungen aktivieren auf der Registerkarte Grundlagen aktiviert ist.

  4. Wechseln Sie zur Registerkarte Testplan, und wählen Sie Anforderung hinzufügen aus.

    Screenshot, der zeigt, wie Sie eine Anforderung zu einem URL-basierten Auslastungstest im Azure-Portal hinzufügen.

  5. Wählen Sie Eingabe in der Benutzeroberfläche hinzufügen aus, um die HTTP-Anforderungsdetails einzugeben.

  6. Geben Sie die HTTP-Anforderungsdetails ein, und wählen Sie dann Hinzufügen aus, um die Anforderung zum Auslastungstest hinzuzufügen.

    Feld Beschreibung
    Anforderungsformat Wählen Sie Eingabe in der Benutzeroberfläche hinzufügen aus, um die Anforderungsdetails über Felder im Azure-Portal zu konfigurieren.
    Request name (Anforderungsname) Geben Sie einen eindeutigen Namen für die Anforderung ein. Sie können auf diesen Anforderungsnamen verweisen, wenn Sie Test-Fehlschlagkriterien definieren.
    URL Die URL des Anwendungsendpunkts.
    Methode Wählen Sie eine HTTP-Methode aus der Liste aus. Azure Load Testing unterstützt GET, POST, PUT, DELETE, PATCH, HEAD und OPTIONS.
    Abfrageparameter (Optional) Geben Sie Abfragezeichenfolgenparameter ein, die an die URL angefügt werden sollen.
    Headers (Optional) Geben Sie HTTP-Header ein, die in die HTTP-Anforderung eingeschlossen werden sollen.
    Text (Optional) Abhängig von der HTTP-Methode können Sie auch den HTTP-Textkörperinhalt angeben. Azure Load Testing unterstützt die folgenden Formate: Rohdaten, JSON-Ansicht, JavaScript, HTML und XML.

    Screenshot der Detailseite zum Hinzufügen einer HTTP-Anforderung mithilfe von Feldern der Benutzeroberfläche im Azure-Portal.

  7. Klicken Sie auf Anwenden, um den Auslastungstest zu speichern.

Hinzufügen von Anforderungen mithilfe von cURL

Anstatt die HTTP-Anforderungsdetails bereitzustellen, können Sie auch cURL-Befehle für die HTTP-Anforderungen in Ihrem URL-basierten Auslastungstest bereitstellen. cURL ist ein Befehlszeilentool und eine Bibliothek für URL-basierte Anforderungen.

Führen Sie die folgenden Schritte aus, um einem Auslastungstest eine HTTP-Anforderung mit einem cURL-Befehl hinzuzufügen.

  1. Wählen Sie in der Testliste Ihren Auslastungstest und dann Bearbeiten aus.

    Stellen Sie sicher, dass Sie einen URL-basierten Auslastungstest aus der Liste auswählen und dass Erweiterte Einstellungen aktivieren auf der Registerkarte Grundlagen aktiviert ist.

  2. Wechseln Sie zur Registerkarte Testplan, und wählen Sie Anforderung hinzufügen aus.

  3. Wählen Sie cURL-Befehl hinzufügen aus, um eine HTTP-Anforderung mithilfe von cURL zu erstellen.

  4. Geben Sie den cURL-Befehl im Feld cURL-Befehl ein, und wählen Sie dann Hinzufügen aus, um die Anforderung zum Auslastungstest hinzuzufügen.

    Im folgenden Beispiel wird cURL verwendet, um eine HTTP GET-Anforderung auszuführen und einen HTTP-Header anzugeben:

    curl --request GET 'http://www.contoso.com/customers?version=1' --header 'api-token: my-token'
    

    Screenshot der Detailseite zum Hinzufügen einer HTTP-Anforderung mithilfe eines cURL-Befehls im Azure-Portal.

  5. Klicken Sie auf Anwenden, um den Auslastungstest zu speichern.

Verwenden von Variablen in HTTP-Anforderungen

Sie können Variablen in Ihrer HTTP-Anforderung verwenden, um Ihre Tests flexibler zu gestalten oder Geheimnisse in Ihren Testplan zu vermeiden. Sie können beispielsweise eine Umgebungsvariable mit dem Domänennamen Ihres Endpunkts verwenden und dann den Variablennamen in den einzelnen HTTP-Anforderungen verwenden. Die Verwendung von Variablen macht Ihren Testplan flexibler und einfacher zu warten.

Mit URL-basierten Auslastungstests in Azure Load Testing können Sie Variablen verwenden, um auf die folgenden Informationen zu verweisen:

Die Syntax für den Verweis auf eine Variable in einer Anforderung lautet: ${variable-name}.

Der folgende Screenshot zeigt, wie Sie mithilfe von ${token} auf eine token-Variable in einem HTTP-Header verweisen.

Screenshot der Seite „Anforderungsdetails“ im Azure-Portal, in dem ein Variablenverweis in einem HTTP-Header hervorgehoben wird.

Hinweis

Wenn Sie Zertifikate angeben, übergibt Azure Load Testing die Zertifikate automatisch in jeder HTTP-Anforderung.

Verwenden von Antwortvariablen für abhängige Anforderungen

Um HTTP-Anforderungen zu erstellen, die von einer vorherigen Anforderung abhängen, können Sie Antwortvariablen verwenden. In der ersten Anforderung können Sie beispielsweise eine Liste von Elementen aus einer API abrufen, die ID aus dem ersten Ergebnis extrahieren und dann eine nachfolgende ID erstellen und diese ID als Abfragezeichenfolgenparameter übergeben.

Azure Load Testing unterstützt die folgenden Optionen, um Werte aus einer HTTP-Anforderung zu extrahieren und in einer Variablen zu speichern:

  • JSONPath
  • XPath
  • Regulärer Ausdruck

Im folgenden Beispiel wird gezeigt, wie sie mit einem XPathExtractor den Text einer Anforderung in der token-Antwortvariable speichern. Anschließend können Sie ${token} in anderen HTTP-Anforderungen verwenden, um auf diesen Wert zu verweisen.

"responseVariables": [
    {
        "extractorType": "XPathExtractor",
        "expression": "/note/body",
        "variableName": "token"
    }
]