Condividi tramite


Usare le proprietà utente di JMeter con Test di carico di Azure

Questo articolo illustra come configurare e usare le proprietà utente di Apache JMeter con Test di carico di Azure. Con le proprietà utente, è possibile rendere configurabile il test mantenendo le impostazioni di test all'esterno dello script di test JMeter. I casi d'uso per le proprietà utente includono:

  • Si vuole usare lo script di test JMX in più ambienti di distribuzione con endpoint applicazione diversi.
  • Lo script di test deve contenere più modelli di carico, ad esempio test di fumo, picco di carico o test di immersione.
  • Si vuole eseguire l'override del comportamento predefinito di JMeter configurando le impostazioni di JMeter, ad esempio il formato del file dei risultati.

Test di carico di Azure supporta le proprietà standard di Apache JMeter e consente di caricare un file di proprietà utente. È possibile configurare un file di proprietà utente per ogni test di carico.

In alternativa, è anche possibile usare variabili di ambiente e segreti in Test di carico di Azure per rendere configurabili i test.

Annotazioni

Test di carico di Azure esegue l'override di proprietà specifiche di JMeter e ignora tutti i valori specificati per queste proprietà. Altre informazioni sull'elenco delle proprietà JMeter sottoposte a override di Test di carico di Azure.

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. Se è necessario creare una risorsa test di carico di Azure, vedere la guida introduttiva Creare ed eseguire un test di carico.

Aggiungere un file delle proprietà utente di JMeter al test di carico

È possibile definire le proprietà utente per lo script di test di JMeter caricando un file con estensione properties nel test di carico. Test di carico di Azure supporta un singolo file di proprietà JMeter per ogni test di carico. I file di proprietà aggiuntivi vengono ignorati.

Il frammento di codice seguente mostra un file di proprietà utente di esempio che definisce tre proprietà utente e configura l'impostazione jmeter.save.saveservice.thread_name di configurazione:

# 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

Per aggiungere un file di proprietà utente al test di carico usando il portale di Azure, seguire questa procedura:

  1. Nel portale di Azure, passare alla risorsa di Azure Load Testing.

  2. Nel riquadro sinistro selezionare Test per visualizzare l'elenco dei test.

  3. Selezionare il test dall'elenco selezionando la casella di controllo e quindi selezionare Modifica. In alternativa, selezionare Crea test per creare un nuovo test di carico.

  4. Selezionare la scheda Piano di test.

  5. Selezionare il file delle proprietà dal computer e quindi selezionare Carica per caricare il file in Azure.

    Screenshot che mostra i passaggi per caricare un file di proprietà utente nella scheda Piano di test del riquadro Modifica test.

  6. Selezionare Proprietà utente nell'elenco a discesa Pertinenza file .

    Screenshot che evidenzia l'elenco a discesa relativo alla pertinenza del file per un file di proprietà utente nel riquadro Piano di test.

    È possibile selezionare un solo file come file di proprietà utente per un test di carico.

  7. Selezionare Applica per modificare il test o Rivedi e crea e quindi Crea per creare il nuovo test.

Proprietà di riferimento in JMeter

Test di carico di Azure supporta la funzionalità predefinita apache JMeter per fare riferimento alle proprietà utente nello script di test JMeter (JMX). È possibile usare le funzioni __property o __P per recuperare i valori delle proprietà dal file di proprietà caricato in precedenza.

Il frammento di codice seguente mostra un esempio di come fare riferimento alle proprietà in un file JMX:

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

In alternativa, è anche possibile specificare le proprietà nell'interfaccia utente di JMeter. L'immagine seguente mostra come usare le proprietà per configurare un gruppo di thread JMeter:

Screenshot che mostra come fare riferimento alle proprietà utente nell'interfaccia utente di JMeter.

È possibile scaricare i log degli errori di JMeter per risolvere gli errori durante il test di carico.

Passaggi successivi