JMeter-gebruikerseigenschappen gebruiken met Azure Load Testing
In dit artikel leert u hoe u gebruikerseigenschappen van Apache JMeter configureert en gebruikt met Azure Load Testing. Met gebruikerseigenschappen kunt u uw test configureerbaar maken door testinstellingen buiten het JMeter-testscript te houden. Gebruiksvoorbeelden voor gebruikerseigenschappen zijn:
- U wilt het JMX-testscript gebruiken in meerdere implementatieomgevingen met verschillende toepassingseindpunten.
- Uw testscript moet voldoen aan meerdere belastingspatronen, zoals betrouwbaarheidstests, piekbelasting of wekentests.
- U wilt het standaardgedrag van JMeter overschrijven door JMeter-instellingen te configureren, zoals de indeling van het resultatenbestand.
Azure Load Testing ondersteunt de standaardeigenschappen van Apache JMeter en stelt u in staat een bestand met gebruikerseigenschappen te uploaden. U kunt één bestand met gebruikerseigenschappen per belastingstest configureren.
U kunt ook omgevingsvariabelen en geheimen in Azure Load Testing gebruiken om uw tests te configureren.
Notitie
Azure Load Testing overschrijft specifieke JMeter-eigenschappen en negeert eventuele waarden die u voor deze eigenschappen opgeeft. Meer informatie over de lijst met JMeter-eigenschappen die door Azure Load Testing worden overschreven.
Vereisten
- Een Azure-account met een actief abonnement. Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.
- Een Azure Load Testing-resource. Als u een Azure Load Testing-resource wilt maken, raadpleegt u de quickstart : Een belastingstest maken en uitvoeren.
Een JMeter-eigenschappenbestand voor gebruikers toevoegen aan uw belastingstest
U kunt gebruikerseigenschappen voor uw JMeter-testscript definiëren door een .properties-bestand te uploaden naar de belastingstest. Azure Load Testing ondersteunt één JMeter-eigenschappenbestand per belastingstest. Aanvullende eigenschapsbestanden worden genegeerd.
In het volgende codefragment ziet u een voorbeeldbestand met gebruikerseigenschappen dat drie gebruikerseigenschappen definieert en de jmeter.save.saveservice.thread_name
configuratie-instelling configureert:
# 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
Voer de volgende stappen uit om een bestand met gebruikerseigenschappen toe te voegen aan uw belastingstest met behulp van Azure Portal:
Ga in Azure Portal naar uw Azure Load Testing-resource.
Selecteer in het linkerdeelvenster Tests om de lijst met tests weer te geven.
Selecteer uw test in de lijst door het selectievakje in te schakelen en selecteer vervolgens Bewerken. U kunt ook Test maken selecteren om een nieuwe belastingstest te maken.
Selecteer het tabblad Plan testen .
Selecteer het eigenschappenbestand op uw computer en selecteer vervolgens Uploaden om het bestand naar Azure te uploaden.
Selecteer Gebruikerseigenschappen in de vervolgkeuzelijst Bestandsrelevantie .
U kunt slechts één bestand selecteren als een bestand met gebruikerseigenschappen voor een belastingstest.
Selecteer Toepassen om de test te wijzigen, of Controleren en maken en maak vervolgens Maken om de nieuwe test te maken.
Referentie-eigenschappen in JMeter
Azure Load Testing ondersteunt de ingebouwde Functionaliteit van Apache JMeter om te verwijzen naar gebruikerseigenschappen in uw JMeter-testscript (JMX). U kunt de functies __property of __P gebruiken om de eigenschapswaarden op te halen uit het eigenschappenbestand dat u eerder hebt geüpload.
In het volgende codefragment ziet u een voorbeeld van het verwijzen naar eigenschappen in een JMX-bestand:
<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>
U kunt ook eigenschappen opgeven in de JMeter-gebruikersinterface. In de volgende afbeelding ziet u hoe u eigenschappen gebruikt om een JMeter-threadgroep te configureren:
U kunt de JMeter-foutenlogboeken downloaden om fouten tijdens de belastingtest op te lossen.
Volgende stappen
- Meer informatie over JMeter-eigenschappen die door Azure Load Testing worden overschreven.
- Meer informatie over het parameteriseren van een belastingstest met behulp van omgevingsvariabelen en geheimen.
- Meer informatie over het diagnosticeren van mislukte belastingstests.