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 Ladetests und Skripts.

Azure-Support 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, Header, 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 JMeter-Testskript hochladen. Wenn Sie beispielsweise mehr als fünf Anforderungen haben, wenn Sie nicht-HTTP-Protokolle verwenden oder 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 einer URL-basierten Auslastungstest eine HTTP-Anforderung hinzuzufügen:

  1. Wechseln Sie im Azure-Portal zu Ihrer Ressourcen zum Ladentest.

  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 Ladetest aus der Liste auswählen und auf der Registerkarte "Grundlagen" erweiterte Einstellungen aktiviert haben.

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

    Screenshot that shows how to add a request to a URL-based load test in the Azure portal.

  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 zu Ihrem Ladetest 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 Testfehlerkriterien 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 that shows the details page to add an HTTP request by using UI fields in the Azure portal.

  7. Wählen Sie "Anwenden" aus, um den Ladetest 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 mithilfe eines cURL-Befehls eine HTTP-Anforderung zu einem Auslastungstest hinzuzufügen.

  1. Wählen Sie in der Liste der Tests Ihren Auslastungstest und dann "Bearbeiten" aus.

    Stellen Sie sicher, dass Sie einen URL-basierten Ladetest aus der Liste auswählen und auf der Registerkarte "Grundlagen" erweiterte Einstellungen aktiviert haben.

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

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

  4. Geben Sie den cURL-Befehl in das cURL-Befehlsfeld ein, und wählen Sie dann "Hinzufügen" aus, um die Anforderung zum Ladetest 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 that shows the details page to add an HTTP request by using a cURL command in the Azure portal.

  5. Wählen Sie "Anwenden" aus, um den Ladetest zu speichern.

Verwenden von Variablen in HTTP-Anforderungen

Sie können Variablen in Ihrer HTTP-Anforderung verwenden, um Ihre Tests flexibler zu machen oder geheime Schlüssel in Ihren Testplan zu vermeiden. Sie können z. B. eine Umgebungsvariable mit dem Do Standard Namen Ihres Endpunkts verwenden und dann den Variablennamen in den einzelnen HTTP-Anforderungen verwenden. Die Verwendung von Variablen macht Ihren Testplan flexibler und Standard nachhaltige.

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}VERWENDUNG auf eine token Variable in einem HTTP-Header verweisen.

Screenshot that shows the request details page in the Azure portal, highlighting a variable reference in an HTTP header.

Hinweis

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

Verwenden von Antwortvariablen für abhängige Anforderungen

Um HTTP-Anforderungen zu erstellen, die einer vorherigen Anforderung zugewiesen werden, 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 z. B. veranschaulicht, wie ein XPathExtractor zum Speichern des Textkörpers einer Anforderung in der token Antwortvariable verwendet wird. Sie können dann ${token} in anderen HTTP-Anforderungen verwenden, um auf diesen Wert zu verweisen.

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