Använda JMeter-användaregenskaper med Azure Load Testing

I den här artikeln lär du dig hur du konfigurerar och använder Apache JMeter-användaregenskaper med Azure Load Testing. Med användaregenskaper kan du göra testet konfigurerbart genom att hålla testinställningarna utanför JMeter-testskriptet. Användningsfall för användaregenskaper är:

  • Du vill använda JMX-testskriptet i flera distributionsmiljöer med olika programslutpunkter.
  • Testskriptet måste hantera flera belastningsmönster, till exempel röktester, belastningstoppar eller blötläggningstester.
  • Du vill åsidosätta JMeter-standardbeteendet genom att konfigurera JMeter-inställningar, till exempel resultatfilformatet.

Azure Load Testing stöder apache JMeter-standardegenskaperna och gör att du kan ladda upp en fil med användaregenskaper. Du kan konfigurera en användaregenskaperfil per belastningstest.

Alternativt kan du också använda miljövariabler och hemligheter i Azure Load Testing för att göra dina tester konfigurerbara.

Kommentar

Azure Load Testing åsidosätter specifika JMeter-egenskaper och ignorerar alla värden som du anger för dessa egenskaper. Läs mer om listan över JMeter-egenskaper som Azure Load Testing åsidosätter.

Förutsättningar

  • Ett Azure-konto med en aktiv prenumeration. Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.
  • En Azure Load Testing-resurs. Om du behöver skapa en Azure Load Testing-resurs kan du läsa snabbstarten Skapa och köra ett belastningstest.

Lägga till en JMeter-användaregenskaper i belastningstestet

Du kan definiera användaregenskaper för JMeter-testskriptet genom att ladda upp en .properties-fil till belastningstestet. Azure Load Testing stöder en enda JMeter-egenskapsfil per belastningstest. Ytterligare egenskapsfiler ignoreras.

Följande kodfragment visar en exempelfil för användaregenskaper som definierar tre användaregenskaper och konfigurerar konfigurationsinställningen jmeter.save.saveservice.thread_name :

# 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

Följ dessa steg för att lägga till en användaregenskaper-fil i belastningstestet med hjälp av Azure-portalen:

  1. I Azure-portalen går du till din Azure Load Testing-resurs.

  2. I den vänstra rutan väljer du Tester för att visa listan över tester.

  3. Markera testet i listan genom att markera kryssrutan och välj sedan Redigera. Alternativt väljer du Skapa test för att skapa ett nytt belastningstest.

  4. Välj fliken Testplan .

  5. Välj egenskapsfilen från datorn och välj sedan Ladda upp för att ladda upp filen till Azure.

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

  6. Välj Användaregenskaper i listrutan Filrelevans .

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

    Du kan bara välja en fil som en användaregenskaper-fil för ett belastningstest.

  7. Välj Använd för att ändra testet eller Granska + skapa och sedan Skapa för att skapa det nya testet.

Referensegenskaper i JMeter

Azure Load Testing stöder de inbyggda Apache JMeter-funktionerna för att referera till användaregenskaper i JMeter-testskriptet (JMX). Du kan använda funktionerna __property eller __P för att hämta egenskapsvärdena från egenskapsfilen som du laddade upp tidigare.

Följande kodfragment visar ett exempel på hur du refererar till egenskaper i en JMX-fil:

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

Alternativt anger du även egenskaper i JMeter-användargränssnittet. Följande bild visar hur du använder egenskaper för att konfigurera en JMeter-trådgrupp:

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

Du kan ladda ned JMeter-felloggarna för att felsöka fel under belastningstestet.

Nästa steg