Processor erin JMeter: Preprocessor en postprocessor

Er wordt gebruik gemaakt van een processor om de Samplers in hun scope aan te passen.

Er zijn 2 soorten processoren:

  1. Pre-processor
  2. Post-processor

Pre-processor

Pre-processor voert een actie uit vaardigheden het indienen van een Sampler-verzoek.

Overweeg een eenvoudig voorbeeld: laten we zeggen dat je wilde JMeter om door de te testen website te ‘spinnen’, ontleden link (controleer alle links op de pagina) en terugkeer de HTML-code. U zou een actie zoals “HTML-linkparser” aan uw controller toevoegen voordat u een HTTP-verzoek maakt.

Pre-processor

Post-processor

De postprocessor voert een bepaalde actie uit na het maken van een Sampler Request.

Beschouw een eenvoudig voorbeeld: JMeter verzendt een HTTP-verzoek naar de te testen webserver (enz www.google.com) en ontvang het antwoord. Jij wil JMeter om de test te stoppen als de serverreactie een fout is. U kunt de postprocessor gebruiken om bovenstaande taak als volgt uit te voeren:

Post-processor

Voorbeeld van een postprocessor

Deze tutorial toont u stapsgewijze instructies voor het gebruik van Post-processor in JMeter. Laten we beginnen met het eenvoudige testscript.

  1. JMeter verzendt een HTTP-verzoek naar de te testen webserver www.google.com.
  2. JMeter krijgt een reactie van de Google-server.
  3. Als de serverreactie is een foutmelding, JMeter wil stoppen de test.
  4. Als serverreactie OK (geen fout), JMeter wil voortzetten de test.

Hier is de roadmap van dit voorbeeld:

Voorbeeld van een postprocessor

Voorwaarde:

We hergebruik de Stap 1 en Stap 2 in het artikel JMeter Performance Testing.

Stap 1) Discussiegroep toevoegen

Klik met de rechtermuisknop op de Testplan en voeg een nieuwe threadgroep toe: Toevoegen -> Onderwerpen (gebruikers) -> Discussiegroep

Maar voer in het Thread Group-configuratiescherm Thread Properties als volgt in:

Discussiegroep toevoegen

Deze instelling laat toe JMeter en je merk te creëren 10 gebruikersverzoek aan http://www.google.com 10 tijden.

Stap 2) Toevoegen JMeter geeft je de mogelijkheid

  • Voeg standaard HTTP-verzoek toe
  • HTTP-verzoek toevoegen

Wij maken nog steeds JMeter Verzend verzoek http://www.google.com naar de Google-server.

Stap 3) Voeg een postprocessorelement toe

Right Click Discussiegroep -> Toevoegen -> Postprocessor -> Resultaat Status Actie Handler

Resultaat Status Actie Handler Hiermee kan de gebruiker de thread of de hele test stoppen als het gebruikersverzoek mislukt.

Post-processorelement toevoegen

Kies in het deelvenster Resultaatstatus Actiehandle Stop nu met testen. Deze selectie stopt de test als JMeter krijg de fout van de serverreactie.

Post-processorelement toevoegen

Stap 4) Configureer het HTTP-verzoek

Open het HTTP-verzoekpaneel. Binnenkomen "abc" naar het padveld.

Configureer het HTTP-verzoek

Wanneer je binnenkomt "abc" naar het pad, JMeter maakt een URL-verzoek naar de Google-server: http://www.google.com/abc. Deze URL bestaat niet op de Google-server. Het is verkeerd URL-verzoek zodat de Google-server een fout retourneert.

Stap 5) Voeg weergaveresultatenboom toe

Right Click Discussiegroep -> Toevoegen -> Luisteraar -> Resultatenboom bekijken

Weergaveresultatenboom toevoegen

Stap 6) Voer de test uit

Selecteer Resultatenboom bekijken en druk op de knop Uitvoeren op de menubalk. Je zult de zien fout reactie van de Google-server en de test stopt zonder 100 threads voltooien.

Voer de test uit

Keer nu terug naar stap 4, open het deelvenster HTTP-verzoek en voer “kalender' naar het venster. Het maakt JMeter URL-verzoek maken https://calendar.google.com/calendar/u/0/r naar de Google-server. Dit is te corrigeren URL-verzoek zodat de Google-server OK retourneert (geen fout).

Voer de test uit

Selecteer Resultatenboom bekijken en druk op de knop Uitvoeren op de menubalk. Je zult de zien OK reactie van de Google-server en de test gaat door totdat alle 100 threads zijn voltooid.

Voer de test uit

Troubleshooting

Als u dit probleem ondervindt tijdens het uitvoeren van het bovenstaande scenario … doet u het volgende:

  1. Controleer of u via een proxy verbinding maakt met internet. Zo ja, verwijder de proxy.
  2. Open een nieuw exemplaar van Jmeter
  3. Open de ProcessorTestPlan.jmx in Jmeter
  4. Double-klik op Discussiegroep -> Resultatenboom bekijken
  5. Voer de test uit