Verwenden von JMeter-Benutzereigenschaften mit Azure Load Testing
In diesem Artikel erfahren Sie, wie Sie Apache JMeter-Benutzereigenschaften mit Azure Load Testing konfigurieren und verwenden. Mit Benutzereigenschaften können Sie Ihren Test konfigurierbar machen, indem Sie Testeinstellungen außerhalb des JMeter-Testskripts beibehalten. Anwendungsfälle für Benutzereigenschaften umfassen:
- Sie möchten das JMX-Testskript in mehreren Bereitstellungsumgebungen mit verschiedenen Anwendungsendpunkten verwenden.
- Ihr Testskript muss mehrere Auslastungsmuster wie Feuerproben, Spitzenlasten oder Weichtests erfüllen.
- Sie möchten das standardmäßige JMeter-Verhalten überschreiben, indem Sie JMeter-Einstellungen konfigurieren, z. B. das Ergebnisdateiformat.
Azure Load Testing unterstützt die standardmäßigen Apache JMeter-Eigenschaften und ermöglicht es Ihnen, eine Benutzereigenschattendatei hochzuladen. Sie können eine Benutzereigenschattendatei pro Ladetest konfigurieren.
Alternativ können Sie auch Umgebungsvariablen und Geheimnisse in Azure Load Testing verwenden, um Ihre Tests konfigurierbar zu machen.
Hinweis
Azure Load Testing setzt bestimmte JMeter-Eigenschaften außer Kraft und ignoriert alle Werte, die Sie für diese Eigenschaften angeben. Erfahren Sie mehr über die Liste der JMeter-Eigenschaften, die Azure Load Testing außer Kraft setzt.
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. Wenn Sie eine Azure Load Testing-Ressource erstellen müssen, lesen Sie den Schnellstart Erstellen und Ausführen eines Auslastungstests.
Hinzufügen einer JMeter-Benutzereigenschafgendatei zu Ihrem Auslastungstest
Sie können Benutzereigenschaften für Ihr JMeter-Testskript definieren, indem Sie eine Eigenschaftendatei in den Auslastungstest hochladen. Azure Load Testing unterstützt eine einzelne JMeter-Eigenschaftendatei pro Auslastungstest. Zusätzliche Eigenschaftsdateien werden ignoriert.
Der folgende Codeausschnitt zeigt eine Beispieldatei für Benutzereigenschaften, die drei Benutzereigenschaften definiert und die jmeter.save.saveservice.thread_name
Konfigurationseinstellung konfiguriert:
# peak-load.properties
# User properties for testing peak load
threadCount=250
rampUpSeconds=30
durationSeconds=600
# Override default JMeter properties
jmeter.save.saveservice.thread_name=false
Um eine Benutzereigenschaftsdatei zu Ihrem Auslastungstest hinzuzufügen, indem Sie das Azure-Portal verwenden, folgen Sie diesen Schritten:
Navigieren Sie im Azure-Portal zu Ihrer Azure Load Testing-Ressource.
Wählen Sie im linken Bereich Tests, um eine Liste der Tests aufzurufen.
Wählen Sie ihren Test aus der Liste aus, indem Sie das Kontrollkästchen aktivieren, und klicken Sie dann auf Bearbeiten. Wählen Sie alternativ Test erstellen aus, um einen neuen Auslastungstest zu erstellen.
Wählen Sie die Schaltfläche Testplan.
Wählen Sie die Eigenschaftsdatei auf Ihrem Computer und wählen Sie dann Hochladen aus, um die Datei auf Azure hochzuladen.
Wählen Sie Benutzereigenschaften in der Dropdownliste Dateirelevanz aus.
Sie können nur eine Datei als Benutzereigenschattendatei für einen Auslastungstest auswählen.
Wählen Sie Anwenden aus, um den Test zu ändern, oder Überprüfen+ erstellen und dann Erstellen, um den neuen Test zu erstellen.
Referenzeigenschaften in JMeter
Azure Load Testing unterstützt die integrierte Apache JMeter-Funktionalität, um auf Benutzereigenschaften in Ihrem JMeter-Testskript (JMX) zu verweisen. Sie können __property oder __P verwenden, um die Eigenschaftenwerte aus der zuvor hochgeladenen Eigenschaftsdatei abzurufen.
Der folgende Codeausschnitt zeigt ein Beispiel zum Verweisen auf Eigenschaften in einer JMX-Datei:
<ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Test home page" enabled="true">
<stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
<elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
<boolProp name="LoopController.continue_forever">false</boolProp>
<intProp name="LoopController.loops">-1</intProp>
</elementProp>
<stringProp name="ThreadGroup.num_threads">${__P(threadCount,1)}</stringProp>
<stringProp name="ThreadGroup.ramp_time">${__P(rampUpSeconds,1)}</stringProp>
<boolProp name="ThreadGroup.scheduler">true</boolProp>
<stringProp name="ThreadGroup.duration">${__P(durationSeconds,30)}</stringProp>
<stringProp name="ThreadGroup.delay"></stringProp>
<boolProp name="ThreadGroup.same_user_on_next_iteration">true</boolProp>
</ThreadGroup>
Alternativ geben Sie auch Eigenschaften in der JMeter-Benutzeroberfläche an. Das folgende Image zeigt, wie Eigenschaften zum Konfigurieren einer JMeter-Thread-Gruppe verwendet werden:
Sie können die JMeter-Fehlerprotokolle herunterladen, um Fehler während des Auslastungstests zu beheben.
Nächste Schritte
- Erfahren Sie mehr über JMeter-Eigenschaften, die Azure Load Testing außer Kraft setzt.
- Erfahren Sie mehr über Parameterisierung eines Auslastungstests mithilfe von Umgebungsvariablen und Geheimen.
- Erfahren Sie mehr über die Diagnose fehlerhafter Auslastungstests.