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:
- Pre-processor
- 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.
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:
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.
- JMeter verzendt een HTTP-verzoek naar de te testen webserver www.google.com.
- JMeter krijgt een reactie van de Google-server.
- Als de serverreactie is een foutmelding, JMeter wil stoppen de test.
- Als serverreactie OK (geen fout), JMeter wil voortzetten de test.
Hier is de roadmap van dit voorbeeld:
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:
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.
Kies in het deelvenster Resultaatstatus Actiehandle Stop nu met testen. Deze selectie stopt de test als JMeter krijg de fout van de serverreactie.
Stap 4) Configureer het HTTP-verzoek
Open het HTTP-verzoekpaneel. Binnenkomen "abc" naar het padveld.
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
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.
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).
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.
Troubleshooting
Als u dit probleem ondervindt tijdens het uitvoeren van het bovenstaande scenario … doet u het volgende:
- Controleer of u via een proxy verbinding maakt met internet. Zo ja, verwijder de proxy.
- Open een nieuw exemplaar van Jmeter
- Open de ProcessorTestPlan.jmx in Jmeter
- Double-klik op Discussiegroep -> Resultatenboom bekijken
- Voer de test uit