Exportieren von Testergebnissen aus Azure Load Testing für die Verwendung in Drittanbietertools

In diesem Artikel erfahren Sie, wie Sie Ihre Azure Load Testing-Testergebnisse exportieren. Sie können die Ergebnisse mithilfe des Azure-Portals, als Artefakt in Ihrem CI/CD-Workflow, in JMeter mithilfe eines Back-End-Listeners oder durch Kopieren der Ergebnisse aus einem Azure-Speicherkonto herunterladen. Sie können diese Ergebnisse für die Berichterstellung in Drittanbietertools oder für die Diagnose von Testfehlern verwenden. Azure Load Testing generiert die Testergebnisse im CSV-Dateiformat (Comma Separated Values, durch Trennzeichen getrennte Werte) und enthält Details zu jeder Anwendungsanforderung für den Auslastungstest.

Sie können die Testergebnisse auch verwenden, um Fehler während eines Auslastungstests zu diagnostizieren. Die Felder responseCode und responseMessage bieten Ihnen weitere Informationen zu fehlgeschlagenen Anforderungen. Weitere Informationen zum Untersuchen von Fehlern finden Sie unter Diagnostizieren von fehlerhaften Auslastungstests in Azure Load Testing.

Sie können das Apache JMeter-Dashboard aus der CSV-Protokolldatei generieren, indem Sie die hier beschriebenen Schritte ausführen.

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, die über einen abgeschlossenen Testlauf verfügt. Wenn Sie eine Azure Load Testing-Ressource erstellen müssen, lesen Sie Erstellen und Ausführen eines Auslastungstests.

Format der Testergebnisdatei

Azure Load Testing generiert eine CSV-Testergebnisdatei für jede Testmodulinstanz. Erfahren Sie, wie Sie den Auslastungstest aufskalieren können.

Azure Load Testing verwendet das CSV-Protokollformat von Apache JMeter. Weitere Informationen zu den verschiedenen Feldern finden Sie im JMeter-Glossar in der Apache JMeter-Dokumentation.

Sie finden die Details der einzelnen Anwendungsanforderungen für den Auslastungstestlauf in der Testergebnisdatei. Der folgende Codeschnipsel zeigt ein Beispieltestergebnis:

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

Zugreifen auf und Herunterladen von Auslastungstestergebnissen

Nach Abschluss eines Auslastungstestlaufs können Sie die Auslastungstestergebnisse über das Azure-Portal oder als Artefakt in Ihrem CI/CD-Workflow abrufen oder herunterladen.

Wichtig

Bei Auslastungstests mit mehr als 45 Modulinstanzen oder einer Dauer des Testlaufs von mehr als 3 Stunden ist die Ergebnisdatei nicht zum Download verfügbar. Sie können einen JMeter-Back-End-Listener so konfigurieren, dass die Ergebnisse in einen Datenspeicher Ihrer Wahl exportiert werden, oder die Ergebnisse aus einem Speicherkontocontainer kopieren.

So laden Sie die Testergebnisse für einen Testlauf im Azure-Portal herunter:

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

  2. Wählen Sie im linken Bereich Tests aus, um eine Liste der Tests anzuzeigen, und wählen Sie dann Ihren Test aus.

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

    Tipp

    Sie können das Suchfeld und den Filter Zeitbereich verwenden, um die Anzahl der Tests einzuschränken.

  3. Sie können die Testergebnisdatei auf zwei Arten als gezippten Ordner herunterladen:

    • Wählen Sie die Auslassungszeichen (...) neben dem Auslastungstestlauf aus, mit dem Sie arbeiten, und wählen Sie dann Ergebnisdatei herunterladen aus.

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

      Hinweis

      Ein Auslastungstestlauf muss den Status Fertig, Beendet oder Fehler aufweisen, damit die Ergebnisdatei zum Download verfügbar ist.

    • Wählen Sie im Bereich Details des Testlaufs die Option Herunterladen und dann Ergebnisse aus.

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

  4. Sie können ein beliebiges ZIP-Tool verwenden, um den Ordner zu extrahieren und auf die Testergebnisse zuzugreifen.

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

    Der Ordner enthält eine separate CSV-Datei für jedes Testmodul sowie Details zu Anforderungen, die das Testmodul während des Auslastungstests ausgeführt hat.

Exportieren von Testergebnissen mithilfe von JMeter-Back-End-Listenern

Sie können einen JMeter-Back-End-Listener verwenden, um Testergebnisse in Datenbanken wie InfluxDB oder MySQL oder in Überwachungstools wie Azure Application Insights zu exportieren.

Sie können die standardmäßigen JMeter-Back-End-Listener, Back-End-Listener von jmeter-plugins.org oder einen benutzerdefinierten Back-End-Listener in Form einer Java-Archivdatei (JAR) verwenden.

Der folgende Codeschnipsel zeigt ein Beispiel für die Verwendung des Back-End-Listeners für Azure Application Insights in einer JMeter-Datei (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>

Sie können das vollständige Beispiel für die Verwendung des Azure Application Insights-Back-End-Listeners herunterladen.

Kopieren von Testartefakten aus einem Speicherkontocontainer

Wichtig

Das Kopieren von Testartefakten aus einem Speicherkontocontainer ist nur für Auslastungstests mit mehr als 45 Modulinstanzen oder mit einer Testlaufdauer von mehr als drei Stunden aktiviert.

So kopieren Sie die Testergebnisse und Protokolldateien für einen Testlauf aus einem Speicherkonto im Azure-Portal:

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

  2. Wählen Sie im linken Bereich Tests aus, um eine Liste der Tests anzuzeigen, und wählen Sie dann Ihren Test aus.

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

  3. Wählen Sie in der Liste der Testläufe Ihren Testlauf aus.

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

    Tipp

    Sie können das Suchfeld und den Filter Zeitbereich verwenden, um die Anzahl der Tests einzuschränken.

  4. Wählen Sie im Bereich Testlaufdetails die Option Artefakte kopieren aus.

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

    Hinweis

    Ein Auslastungstestlauf muss den Status Fertig, Beendet oder Fehler aufweisen, damit die Ergebnisdatei zum Download verfügbar ist.

  5. Kopieren Sie die SAS-URL des Speicherkontocontainers.

    Sie können die SAS-URL im Azure Storage-Explorer oder AzCopy verwenden, um die CSV-Ergebnisdateien und die Protokolldateien für den Testlauf in Ihr Speicherkonto zu kopieren.

    Die SAS-URL ist ab dem Zeitpunkt, zu dem sie generiert wird, 60 Minuten lang gültig. Wenn die URL abläuft, wählen Sie Artefakte kopieren aus, um eine neue SAS-URL zu generieren.