Dela via


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.

Anmärkning

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 en Azure-prenumeration, skapa ett gratis 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 Portal 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.

    Skärmbild som visar stegen för att ladda upp en fil för användaregenskaper på fliken Testplan i fönstret Redigera test.

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

    Skärmbild som visar listrutan filrelevans för en fil med användaregenskaper i fönstret Testplan.

    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:

Skärmbild som visar hur du refererar till användaregenskaper i JMeter-användargränssnittet.

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

Nästa steg