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.

Nota

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. Nella portale di Azure passare alla risorsa Test di carico di Azure.

  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 that shows the steps to upload a user properties file on the Test plan tab on the Edit test pane.

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

    Screenshot that highlights the file relevance dropdown for a user properties file on the Test plan pane.

    È 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 that shows how to reference user properties in the JMeter user interface.

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

Passaggi successivi