how use preprocessors jmeter
In deze tutorial leer je JMeter PreProcessor gebruiken en hoe PreProcessors zoals SampleTimeOut, UserParameter, HTMLLinkParser, etc werken:
PreProcessor voert altijd de actie uit vóór het Sampler-verzoek.
Hieronder staat de lijst met PreProcessors die in JMeter worden gebruikt:
- Gebruikersparameters
- Sample time-out
- JSR223 Preprocessor
- JDBC Preprocessor
- Bean Shell Preprocessor
- HTML-koppelingsparser
- HTML-URL-herschrijfmodifier
- RegEx-gebruikersparameters
=> Klik hier voor De complete gratis training op JMeter (20+ video's)
Wat je leert:
JMeter PreProcessor Video-zelfstudie
PreProcessors zijn acties die worden uitgevoerd voordat uw eigenlijke sampler in JMeter draait. Het kan zoiets zijn als het opslaan van waarden van een variabele, het definiëren van time-outs, enz. De preprocessor kan worden toegevoegd op threadgroepniveau of sampler-niveau.
SampleTimeOut PreProcessor kan de sample time-out voor een aanvraag definiëren. Elke tijd voor het nemen van monsters die langer is dan de gedefinieerde tijd, zou mislukken. UserParameter PreProcessor wordt gebruikt om waarden voor variabelen voor specifieke gebruikers te definiëren.
Voorbeeld , zou je een waarde kunnen definiëren voor een variabele voor specifieke gebruikers en wanneer de sampler wordt uitgevoerd, worden de waarden die in deze preprocessor gespecificeerd zijn opgehaald.
HTMLLinkParser parseert alle links uit het antwoord van het vorige verzoek en vervolgens kun je willekeurig op een van de links op de pagina klikken. U kunt '. *' In uw pad specificeren en het zou elke willekeurige link op de pagina kiezen en die raken met hetzelfde protocol dat in een specifiek protocol wordt gebruikt.
hoe keert u een array in Java om?
Veelgebruikte JMeter PreProcessor
Laten we een paar van de pre-processors van JMeter doornemen:
# 1) JSR223 Preprocessor
JSR223 Pre-processor presteert vóór het sampler-verzoek en voert de bewerking uit met behulp van het JSR223-script. Verschillende talen die kunnen worden gebruikt zijn JAVA, Groovy, BeanShell, JEXL, etc.
Volg de onderstaande stappen om deze Pre-processor toe te voegen:
- Voeg Thread Group toe aan een testplan.
- Voeg Sampler 'HTTP Request' toe.
- Voeg JSR223 Pre-processor toe.
- Luisteraar toevoegen 'Bekijk resultatenboom'.
Voorbeeld
Het volgende script kan worden geschreven met JavaScript voor het aanpassen van de HTTP Request Sampler:
JSR223-variabelen die beschikbaar zijn voor het gebruik van script, zijn als volgt:
- Logboek: Deze variabele kan worden gebruikt om naar het logbestand te schrijven.
- Parameters: Parameters als een string.
- Label: Het is een stringlabel.
- Bestandsnaam: Bestandsnaam van een script als er een extern script is toegevoegd
- Van wie: Dit is een JMeter-variabele die de lees- en schrijftoegang tot de variabelen geeft.
- Monsternemer: Toegang tot de huidige sampler is voorzien.
- args: String-array als parameter
- rekwisieten: JMeter-eigenschappen
- ctx: Dit is JMeter-context die toegang geeft tot de context
- UIT: Om het bericht af te drukken (system.out)
# 2) JDBC Preprocessor
Deze processor kan worden gebruikt om SQL-queries uit te voeren voordat de sampler wordt uitgevoerd.
Om de Pre-processor toe te voegen, worden onderstaande stappen gevolgd:
- Voeg een discussiegroep toe aan het testplan.
- Voeg Sampler 'HTTP Request' toe.
- Voeg HTTP Header Manager toe.
- VOEG JDBC PreProcessor toe aan de threadgroep.
- Voeg Listener toe als 'View Results Tree'.
Voorbeeld:
Als een gebruiker de gebruikersnaam en het wachtwoord voor gebruikers wil achterhalen:
- Voeg een discussiegroep toe aan het testplan.
- Voeg Sampler 'HTTP-verzoek' toe (details van de vereiste gebruikersnaam en wachtwoord voor gegevens kunnen ook in het lichaamsgedeelte van de sampler worden verstrekt, maar het zal het doel niet dienen, aangezien het bijwerken van een van deze details in het script moet worden bijgewerkt goed)
- Voeg het configuratie-element 'HTTP Header Manager' toe en geef details voor de naam en waarde.
- Voeg JDBC Preprocessor toe.
Zoekopdrachttype kan worden geselecteerd uit de vervolgkeuzelijst als Selecteer Statement en Query kan worden gespecificeerd om hetzelfde uit te pakken in Query-box.
Te extraheren variabelen kunnen worden voorzien van een komma-scheiding.
- Voeg Listener 'View Results Tree' toe en voer het testplan uit om de resultaten te bekijken.
JDBC Pre-processor heeft veld Zoekopdrachttype dat kan vanaf het vereiste worden geselecteerd.
Zoals in het geval dat de gebruiker dat wil bijwerken de details, Update-verklaring zal moeten worden gebruikt. Evenzo kan, indien nodig, een ander type zoekopdracht worden geselecteerd.
Voorbeeld van een voorbereide selectie-instructie:
In het geval dat de gebruiker de afspraak-ID van een patiënt moet annuleren uit de records die verwijzen naar de naam van de patiënt, moet de gebruiker de JDBC-verbinding configureren en vervolgens een JDBC-preprocessor toevoegen door het type query te selecteren als Prepared Select-instructie. Voer het testplan uit. Resultaten kunnen worden bekeken door de toegevoegde luisteraar.
# 3) HTML-koppelingsparser
Deze processor wordt gebruikt om de HTML-respons te ontleden en om alle links en formulieren te extraheren.
Volg de onderstaande stappen om de Pre-processor toe te voegen:
- Voeg een discussiegroep toe aan het testplan.
- Sampler 'HTTP-verzoek' toevoegen
- Voeg een eenvoudige controller toe.
- Voeg nog een sampler 'HTTP Request' toe.
- Voeg HTML Link Parser preprocessor toe.
- Voeg luisteraar toe 'Bekijk resultatenboom'.
Voorbeeld:
Om te zien hoe de interne pagina's kunnen worden gecrawld, kunnen onderstaande stappen worden uitgevoerd:
- Voeg in Thread Group Sampler 'HTTP Request' toe en geef de servernaam of IP op. Wijzig de naam van de sampler in HTTP Request_Main.
- Voeg Simple Controller toe aan het testplan.
- Voeg nog een sampler 'HTTP-verzoek' toe en geef de servernaam of IP op en geef ook / op. * in het pad zodat het naar alle gevonden links kan crawlen. Wijzig de naam van de sampler in HTTP Request_Internal.
- Voeg preprocessor 'HMTL Link Parser' en luisteraar toe als 'View Result Tree' om de output te bekijken.
Door de bovenstaande stappen te volgen, zal uitvoer voor de eerste sampler de naam van de website in het verzoekveld zijn, terwijl voor de tweede sampler de output de interne pagina's zijn die op de verstrekte website worden gecrawld. Raadpleeg de onderstaande schermafbeeldingen voor hetzelfde.
# 4) Modifier voor het herschrijven van HTTP-URL's
Om de sessie-informatie-URL te beheren, wordt een herschrijftechniek gebruikt. Het heeft een voordeel dat zelfs als de cookie op een systeem is uitgeschakeld, deze nog steeds kan werken.
Om de Pre-processor toe te voegen, worden onderstaande stappen gevolgd:
- Voeg de discussiegroep toe aan het testplan.
- Voeg HTTP-verzoek toe aan het testplan.
- Voeg preprocessor 'HTTP URL Re-writing Modifier' toe aan het testplan.
- Voeg nog een Sampler 'HTTP Request' toe aan de thread.
We kunnen deze preprocessor als volgt gebruiken:
Deze preprocessor is toepasbaar op het draadniveau en ook op de specifieke sampler. Indien toegepast op threadniveau, zal het het argument voor elk verzoek in de thread toevoegen.
Sessieargumentnaam : De parameternaam van de sessie-ID moet in dit veld worden opgegeven. De parameternaam kan in reactie worden gevonden. Deze parameter wordt op de pagina doorzocht en waar deze ook wordt gevonden, de toegewezen waarde wordt overgenomen.
websites om gratis anime in het Engels te bekijken
Padextensie: Als de toepassing de URL herschrijft door een puntkomma toe te voegen en ook de sessie-ID bevat, moet deze optie worden geselecteerd.
Gebruik geen gelijken in padextensie: In het geval dat de applicatie URL's herschrijft zonder de teken tussen parameternaam en waarde, deze optie moet worden aangevinkt.
Gebruik geen vraagteken in padextensie - Als de toepassing moet voorkomen dat de queryreeks sluit of eindigt op de padextensie, moet de optie worden aangevinkt.
Cache-sessie-ID: Als de sessie-ID vereist is voor later gebruik, moet deze optie worden geselecteerd.
URL coderen: Als gecodeerde URL's vereist zijn, moet deze optie worden geselecteerd.
# 5) RegEx-gebruikersparameters
Met deze preprocessor kan de dynamische waarde voor HTTP-parameters worden opgehaald uit een HTTP-verzoek met de extractor voor reguliere expressies. Het is ingesteld op onafhankelijke threads in een testplan.
Om de Pre-processor toe te voegen, worden onderstaande stappen gevolgd:
- Voeg een discussiegroep toe aan een testplan.
- Voeg een HTTP-verzoek toe aan een threadgroep met een servernaam of IP.
- Voeg Postprocessor 'Regular Expression Extractor' toe om waarden te extraheren.
- Voeg nog een HTTP-verzoek toe aan een threadgroep en geef de servernaam of IP op.
- Voeg de preprocessor 'Regex User Parameter' toe aan het tweede HTTP-verzoek.
Deze preprocessor kan als volgt worden gebruikt:
Referentienaam reguliere expressie: De opgegeven referentienaam heeft de variabelen die vanaf het eerste HTTP-verzoek moeten zijn geparseerd.
Parameternamen regexp groepsnummer: 1 vertegenwoordigt die groep 1 van de regexp. Het zal het namen van de variabelen
Parameterwaarden regex groepsnummer: 2 vertegenwoordigt die groep 2 van de regexp. Het zal het waarden van de variabelen
# 6) BeanShell Preprocessor
Deze preprocessor krijgt een willekeurige waarde uit een specifieke lijst. Het kan willekeurige strings genereren om waarden aan de variabelen toe te wijzen.
BeanShell Preprocessor wordt toegevoegd onder de sampler.
Om de Pre-processor toe te voegen, worden onderstaande stappen gevolgd:
- Voeg een discussiegroep toe aan het testplan.
- Voeg Sampler toe aan de discussiegroep.
- Voeg 'BeanShell Preprocessor' toe aan de toegevoegde sampler.
Voorbeeld:
Als de door de gebruiker gedefinieerde variabele is ingesteld op 'true' als een waarde en deze waarde moet worden gewijzigd in 'false', kan het onderstaande commando worden gebruikt om hetzelfde te doen. (Verwijderen is een door de gebruiker gedefinieerde variabele, waarvan de waarde moet worden gewijzigd))
Als er een extern script moet worden gebruikt, kan in dat geval een bestand worden geüpload voor het script in het veld Bestandsnaam. De bladeroptie is voorzien om het externe bestand te uploaden.
Veelgestelde vragen over JMeter Preprocessor
V # 1) Wat is een preprocessor in JMeter?
Antwoord : Preprocessor is het element dat wordt gebruikt om de acties uit te voeren voordat het sampler-verzoek wordt uitgevoerd. Er zijn een aantal Pre-processors die kunnen worden gebruikt om verschillende doeleinden te bereiken, zoals het behouden van waarde in de variabele, het ophalen van gegevens uit databases, enz. Preprocessors kunnen worden toegevoegd op Sampler-niveau of op threadniveau.
Q # 2) Wat is Beanshell Preprocessor in JMeter?
Antwoord : BeanShell is een script gebaseerd en is een ingebouwde component van de JMeter. Deze preprocessor wordt gebruikt om het script uit te voeren voordat de Sampler wordt uitgevoerd.
Gevolgtrekking
JMeter-preprocessors - zoals we hebben besproken, worden uitgevoerd net voordat de sampler wordt uitgevoerd. JSR223 en Beanshell zijn op scripts gebaseerde preprocessors terwijl JDBC wordt gebruikt voor database-activiteiten omdat het ophalen of ophalen van de gegevens vereist is.
HTML-koppelingsparser en RegEx-gebruikersparameter worden niet zo populair gebruikt als andere preprocessors, maar dienen het doel zoals vereist en hebben hun eigen voordelen.
<< PREV DE VOLGENDE
Aanbevolen literatuur
- JMeter-luisteraars: resultaten analyseren met verschillende luisteraars
- Parametrering van JMeter-gegevens met behulp van door de gebruiker gedefinieerde variabelen
- JMeter-variabelen en functies
- Hoe JMeter-correlatie met voorbeeld te bereiken
- Top 5 JMeter-plug-ins en hoe ze te gebruiken (met voorbeelden)
- JMeter Timers: Constant, BeanShell en Guassian Random Timer
- Jmeter Controllers Deel 2
- Jmeter Controllers Deel 1