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
- Ein Azure-Konto mit einem aktiven Abonnement. Wenn Sie kein Azure-Abonnement besitzen, erstellen Sie ein kostenloses Konto, bevor Sie beginnen.
- Eine Azure Load Testing-Ressource. Informationen zum Erstellen einer Azure Load Testing-Ressource finden Sie unter Erstellen und Ausführen eines Auslastungstests.
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:
Wechseln Sie im Azure-Portal zu Ihrer Ressourcen zum Ladentest.
Wählen Sie im linken Navigationsbereich "Tests " aus, um alle Tests anzuzeigen.
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.
Wechseln Sie zur Registerkarte "Testplan", und wählen Sie "Anforderung hinzufügen" aus.
Wählen Sie "Eingabe in der Benutzeroberfläche hinzufügen" aus, um die HTTP-Anforderungsdetails einzugeben.
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. 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.
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.
Wechseln Sie zur Registerkarte "Testplan", und wählen Sie "Anforderung hinzufügen" aus.
Wählen Sie den Befehl "CURL hinzufügen" aus, um eine HTTP-Anforderung mithilfe von cURL zu erstellen.
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'
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:
- Umgebungsvariablen: Sie können Umgebungsvariablen für den Auslastungstest konfigurieren.
- Geheime Schlüssel: Konfigurieren von Geheimschlüsseln in Azure Key Vault in Ihrem Auslastungstest
- Werte aus einer CSV-Eingabedatei: Verwenden Sie Variablen für die Spalten in einer CSV-Eingabedatei , und führen Sie eine Anforderung für jede Zeile in der Datei aus.
- Antwortvariablen: Extrahieren von Werten aus einer vorherigen HTTP-Anforderung
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.
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"
}
]