Esportare i risultati dei test da Test di carico di Azure per l'uso in strumenti di terze parti

Questo articolo illustra come esportare i risultati dei test di Test di carico di Azure. È possibile scaricare i risultati usando il portale di Azure, come artefatto nel flusso di lavoro CI/CD, in JMeter usando un listener back-end o copiando i risultati da un account di archiviazione di Azure. È possibile usare questi risultati per la creazione di report in strumenti di terze parti o per la diagnosi degli errori di test. Test di carico di Azure genera i risultati del test in formato di file con valori delimitati da virgole (CSV) e fornisce i dettagli di ogni richiesta dell'applicazione per il test di carico.

È anche possibile usare i risultati del test per diagnosticare gli errori durante un test di carico. I responseCode campi e responseMessage forniscono altre informazioni sulle richieste non riuscite. Per altre informazioni sull'analisi degli errori, vedere Diagnosticare i test di carico non superati.

È possibile generare il dashboard di Apache JMeter dal file di log CSV seguendo i passaggi indicati qui.

Prerequisiti

  • Un account Azure con una sottoscrizione attiva. Se non si ha una sottoscrizione di Azure, creare un account gratuito prima di iniziare.
  • Risorsa test di carico di Azure con un'esecuzione di test completata. Se è necessario creare una risorsa test di carico di Azure, vedere Creare ed eseguire un test di carico.

Formato del file dei risultati del test

Test di carico di Azure genera un file CSV dei risultati del test per ogni istanza del motore di test. Informazioni su come aumentare il numero di istanze del test di carico.

Test di carico di Azure usa il formato di log CSV di Apache JMeter. Per altre informazioni sui diversi campi, vedere il glossario di JMeter nella documentazione di Apache JMeter.

È possibile trovare i dettagli di ogni richiesta dell'applicazione per l'esecuzione del test di carico nel file dei risultati del test. Il frammento di codice seguente mostra un risultato di test di esempio:

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

Accedere e scaricare i risultati dei test di carico

Al termine dell'esecuzione di un test di carico, è possibile accedere e scaricare i risultati del test di carico tramite il portale di Azure o come artefatto nel flusso di lavoro CI/CD.

Importante

Per i test di carico con più di 45 istanze del motore o una durata di esecuzione di test superiore a 3 ore, il file dei risultati non è disponibile per il download. È possibile configurare un listener back-end JMeter per esportare i risultati in un archivio dati di propria scelta o copiare i risultati da un contenitore dell'account di archiviazione.

Per scaricare i risultati del test per un'esecuzione di test nel portale di Azure:

  1. Nella portale di Azure passare alla risorsa Test di carico di Azure.

  2. Nel riquadro sinistro selezionare Test per visualizzare un elenco di test e quindi selezionare il test.

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

    Suggerimento

    Per limitare il numero di test da visualizzare nell'elenco, è possibile usare la casella di ricerca e il filtro Intervallo di tempo.

  3. È possibile scaricare il file dei risultati del test come cartella compressa in uno dei due modi seguenti:

    • Selezionare i puntini di sospensione (...) accanto all'esecuzione del test di carico in uso e quindi selezionare Scarica il file dei risultati.

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

      Nota

      L'esecuzione di un test di carico deve avere lo stato Fine, Arrestato o Non riuscito per rendere disponibile il file di risultati per il download.

    • Nel riquadro Dettagli esecuzione test selezionare Scarica e quindi selezionare Risultati.

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

  4. È possibile usare qualsiasi strumento ZIP per estrarre la cartella e accedere ai risultati del test.

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

    La cartella contiene un file CSV separato per ogni motore di test e contiene i dettagli delle richieste eseguite dal motore di test durante il test di carico.

Esportare i risultati dei test usando listener back-end JMeter

È possibile usare un listener back-end JMeter per esportare i risultati dei test in database come InfluxDB, MySQL o strumenti di monitoraggio come app Azure lication Insights.

È possibile usare i listener back-end JMeter predefiniti, i listener back-end di jmeter-plugins.org o un listener back-end personalizzato sotto forma di file JAR (Java Archive).

Il frammento di codice seguente illustra un esempio di come usare il listener back-end per app Azure lication Insights in un file JMeter (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>

È possibile scaricare l'esempio completo di usando il listener back-end di app Azure lication Insights.

Copiare gli artefatti di test da un contenitore dell'account di archiviazione

Importante

La copia degli artefatti di test da un contenitore dell'account di archiviazione è abilitata solo per i test di carico con più di 45 istanze del motore o con una durata di esecuzione del test superiore a tre ore.

Per copiare i risultati del test e i file di log per un'esecuzione di test da un account di archiviazione, nella portale di Azure:

  1. Nella portale di Azure passare alla risorsa Test di carico di Azure.

  2. Nel riquadro sinistro selezionare Test per visualizzare un elenco di test e quindi selezionare il test.

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

  3. Nell'elenco delle esecuzioni di test selezionare l'esecuzione del test.

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

    Suggerimento

    Per limitare il numero di test da visualizzare nell'elenco, è possibile usare la casella di ricerca e il filtro Intervallo di tempo.

  4. Nel riquadro Dettagli esecuzione test selezionare Copia artefatti.

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

    Nota

    L'esecuzione di un test di carico deve essere nello stato Fine, Arrestato o Non riuscito per rendere disponibile il file di risultati per il download.

  5. Copiare l'URL della firma di accesso condiviso del contenitore dell'account di archiviazione.

    È possibile usare l'URL di firma di accesso condiviso nel Archiviazione di Azure Explorer o AzCopy per copiare i file CSV dei risultati e i file di log per l'esecuzione del test nell'account di archiviazione.

    L'URL della firma di accesso condiviso è valido per 60 minuti dal momento in cui viene generato. Se l'URL scade, selezionare Copia artefatti per generare un nuovo URL di firma di accesso condiviso.