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

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:

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

  2. Wählen Sie im linken Bereich Tests, um eine Liste der Tests aufzurufen.

  3. 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.

  4. Wählen Sie die Schaltfläche Testplan.

  5. Wählen Sie die Eigenschaftsdatei auf Ihrem Computer und wählen Sie dann Hochladen aus, um die Datei auf Azure hochzuladen.

    Screenshot that shows the steps to upload a user properties file on the Test plan tab on the Edit test pane.

  6. Wählen Sie Benutzereigenschaften in der Dropdownliste Dateirelevanz aus.

    Screenshot that highlights the file relevance dropdown for a user properties file on the Test plan pane.

    Sie können nur eine Datei als Benutzereigenschattendatei für einen Auslastungstest auswählen.

  7. 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:

Screenshot that shows how to reference user properties in the JMeter user interface.

Sie können die JMeter-Fehlerprotokolle herunterladen, um Fehler während des Auslastungstests zu beheben.

Nächste Schritte