Exportera testresultat från Azure Load Testing för användning i verktyg från tredje part

I den här artikeln får du lära dig hur du exporterar testresultat för Azure Load Testing. Du kan ladda ned resultaten med hjälp av Azure-portalen, som en artefakt i ditt CI/CD-arbetsflöde, i JMeter med hjälp av en lyssnare på serverdelen eller genom att kopiera resultatet från ett Azure Storage-konto. Du kan använda dessa resultat för rapportering i verktyg från tredje part eller för att diagnostisera testfel. Azure Load Testing genererar testresultatet i filformatet kommaavgränsade värden (CSV) och innehåller information om varje programbegäran för belastningstestet.

Du kan också använda testresultaten för att diagnostisera fel under ett belastningstest. Fälten responseCode och responseMessage ger dig mer information om misslyckade begäranden. Mer information om hur du undersöker fel finns i Diagnostisera misslyckade belastningstester.

Du kan generera Apache JMeter-instrumentpanelen från CSV-loggfilen genom att följa stegen som beskrivs här.

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 som har en slutförd testkörning. Om du behöver skapa en Azure Load Testing-resurs kan du läsa Skapa och köra ett belastningstest.

Testresultatfilformat

Azure Load Testing genererar en CSV-fil för testresultat för varje testmotorinstans. Lär dig hur du kan skala ut belastningstestet.

Azure Load Testing använder Apache JMeter CSV-loggformatet. Mer information om de olika fälten finns i JMeter-ordlistan i Apache JMeter-dokumentationen.

Du hittar information om varje programbegäran för belastningstestkörningen i testresultatfilen. Följande kodfragment visar ett exempeltestresultat:

timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,failureMessage,bytes,sentBytes,grpThreads,allThreads,URL,Latency,IdleTime,Connect
1676040230680,104,Homepage,200,OK,172.18.33.7-Thread Group 1-5,text,true,,1607,133,5,5,https://www.example.com/,104,0,100
1676040230681,101,Homepage,200,OK,172.18.33.7-Thread Group 1-3,text,true,,1591,133,5,5,https://www.example.com/,101,0,93
1676040230680,101,Homepage,200,OK,172.18.33.7-Thread Group 1-1,text,true,,1591,133,5,5,https://www.example.com/,98,0,94

Få åtkomst till och ladda ned testresultat för belastning

När en belastningstestkörning har slutförts kan du komma åt och ladda ned belastningstestresultaten via Azure-portalen, eller som en artefakt i ditt CI/CD-arbetsflöde.

Viktigt!

För belastningstester med fler än 45 motorinstanser eller mer än 3 timmars testkörning är resultatfilen inte tillgänglig för nedladdning. Du kan konfigurera en JMeter-serverdelslyssnare för att exportera resultatet till ett datalager som du väljer eller kopiera resultatet från en lagringskontocontainer.

Så här laddar du ned testresultaten för en testkörning i 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 en lista över tester och sedan ditt test.

    Screenshot that shows the list of tests for an Azure Load Testing resource.

    Dricks

    Om du vill begränsa antalet tester som ska visas i listan kan du använda sökrutan och tidsintervallfiltret .

  3. Du kan ladda ned testresultatfilen som en zippad mapp på något av två sätt:

    • Välj ellipsen (...) bredvid den belastningstestkörning som du arbetar med och välj sedan Hämta resultatfil.

      Screenshot that shows how to download the results file for a load test run.

      Kommentar

      En belastningstestkörning måste ha statusen Klar, Stoppad eller Misslyckad för att resultatfilen ska vara tillgänglig för nedladdning.

    • I fönstret Testkörningsinformation väljer du Ladda ned och sedan Resultat.

      Screenshot that shows how to download the test results from the 'Test run details' pane.

  4. Du kan använda valfritt zip-verktyg för att extrahera mappen och komma åt testresultaten.

    Screenshot that shows the test results zip file in the downloads list.

    Mappen innehåller en separat CSV-fil för varje testmotor och innehåller information om begäranden som testmotorn körde under belastningstestet.

Exportera testresultat med JMeter-serverdelslyssnare

Du kan använda en JMeter-serverdelslyssnare för att exportera testresultat till databaser som InfluxDB, MySQL eller övervakningsverktyg som Azure Application Insights.

Du kan använda JMeter-standardlyssnare, serverdelslyssnare från jmeter-plugins.org eller en anpassad serverdelslyssnare i form av en Java-arkivfil (JAR).

Följande kodfragment visar ett exempel på hur du använder serverdelslyssnaren för Azure Application Insights i en JMeter-fil (JMX):

<BackendListener guiclass="BackendListenerGui" testclass="BackendListener" testname="Backend Listener" enabled="true">
  <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" enabled="true">
    <collectionProp name="Arguments.arguments">
      <elementProp name="testName" elementType="Argument">
        <stringProp name="Argument.name">testName</stringProp>
        <stringProp name="Argument.value">jmeter</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="connectionString" elementType="Argument">
        <stringProp name="Argument.name">connectionString</stringProp>
        <stringProp name="Argument.value">Enter your AppInsights connection string</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="liveMetrics" elementType="Argument">
        <stringProp name="Argument.name">liveMetrics</stringProp>
        <stringProp name="Argument.value">true</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="samplersList" elementType="Argument">
        <stringProp name="Argument.name">samplersList</stringProp>
        <stringProp name="Argument.value"></stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="useRegexForSamplerList" elementType="Argument">
        <stringProp name="Argument.name">useRegexForSamplerList</stringProp>
        <stringProp name="Argument.value">false</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="logResponseData" elementType="Argument">
        <stringProp name="Argument.name">logResponseData</stringProp>
        <stringProp name="Argument.value">OnFailure</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
      <elementProp name="logSampleData" elementType="Argument">
        <stringProp name="Argument.name">logSampleData</stringProp>
        <stringProp name="Argument.value">OnFailure</stringProp>
        <stringProp name="Argument.metadata">=</stringProp>
      </elementProp>
    </collectionProp>
  </elementProp>
  <stringProp name="classname">io.github.adrianmo.jmeter.backendlistener.azure.AzureBackendClient</stringProp>
</BackendListener>

Du kan ladda ned det fullständiga exemplet på hur du använder Azure Application Insights-serverdelslyssnaren.

Kopiera testartefakter från en lagringskontocontainer

Viktigt!

Kopiering av testartefakter från en lagringskontocontainer är endast aktiverat för belastningstester med fler än 45 motorinstanser eller med en testkörningstid som är längre än tre timmar.

Kopiera testresultaten och loggfilerna för en testkörning från ett lagringskonto i 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 en lista över tester och sedan ditt test.

    Screenshot that shows the list of tests for an Azure Load Testing resource.

  3. Välj din testkörning i listan över testkörningar.

    Screenshot that shows the list of test runs for a test in an Azure Load Testing resource.

    Dricks

    Om du vill begränsa antalet tester som ska visas i listan kan du använda sökrutan och tidsintervallfiltret .

  4. I fönstret Testkörningsinformation väljer du Kopiera artefakter.

    Screenshot that shows how to copy the test artifacts from the 'Test run details' pane.

    Kommentar

    En belastningstestkörning måste vara i statusen Klar, Stoppad eller Misslyckad för att resultatfilen ska vara tillgänglig för nedladdning.

  5. Kopiera SAS-URL:en för lagringskontocontainern.

    Du kan använda SAS-URL:en i Azure Storage Explorer eller AzCopy för att kopiera csv-resultatfilerna och loggfilerna för testkörningen till ditt lagringskonto.

    SAS-URL:en är giltig i 60 minuter från den tidpunkt då den genereras. Om URL:en upphör att gälla väljer du Kopiera artefakter för att generera en ny SAS-URL.