Processor in JMeter: PreProcessor & Postprocessor

Inhoudsopgave:

Anonim

Een processor wordt gebruikt om de Samplers in hun scope te wijzigen.

Er zijn 2 soorten processors:

  1. Pre-processor
  2. Post-processor

Pre-processor:

Pre-processor voert een actie uit voordat Sampler Request wordt gedaan.

Denk aan een eenvoudig voorbeeld: laten we zeggen dat je wilde JMeter aan "spin" via de website te testen, parse link (check alle links op de pagina) en terug te keren de HTML. U zou een actie zoals "HTML-link parser" aan uw controller toevoegen voordat u een HTTP-verzoek aanmaakt.

Post-processor:

Post-processor voert een actie uit na het doen van een Sampler Request.

Beschouw een eenvoudig voorbeeld: JMeter stuurt een HTTP-verzoek naar de te testen webserver (enz. Www.google.com) en krijgt het antwoord. U wilt dat JMeter de test stopt als de serverreactie een fout is. U kunt de post-processor gebruiken om bovenstaande taak als volgt uit te voeren:

Voorbeeld van een postprocessor

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

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

Hier is de routekaart van dit voorbeeld:

Voorwaarde:

We hergebruiken de stap 1 en stap 2 in artikel JMeter Performance Testing.

Stap 1) Voeg discussiegroep toe

Klik met de rechtermuisknop op het testplan en voeg een nieuwe discussiegroep toe: Toevoegen -> Discussies (gebruikers) -> Discussiegroep

Maar voer in het configuratiescherm van Thread Group Thread-eigenschappen als volgt in:

Met deze instelling kan JMeter 10 keer een gebruikersverzoek naar http://www.google.com 10 keer maken.

Stap 2) Voeg JMeter-elementen toe

  • Voeg standaard HTTP-verzoek toe
  • Voeg een HTTP-verzoek toe

We zorgen er nog steeds voor dat JMeter een verzoek http://www.google.com naar de Google-server verzendt.

Stap 3) Voeg een postprocessorelement toe

Klik met de rechtermuisknop op Discussiegroep -> Toevoegen -> Postprocessor -> Resultaatstatusactiehandler

Resultaat Status Actie Handler stelt de gebruiker in staat om de thread of de hele test te stoppen als het verzoek van de gebruiker is mislukt.

Kies in het deelvenster Resultaatstatusactie de optie Test nu stoppen . Deze selectie stopt de test als JMeter de foutmelding krijgt van de serverreactie.

Stap 4) Configureer het HTTP-verzoek

Open het HTTP-verzoekvenster. Typ "abc" in het veld Pad.

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

Stap 5) Voeg View Result Tree toe

Klik met de rechtermuisknop op Discussiegroep -> Toevoegen -> Luisteraar -> Bekijk de resultatenstructuur

Stap 6) Test uitvoeren

Selecteer View Result Tree, druk op de Run-knop op de menubalk. U ziet de foutreactie van de Google-server en de test stopt zonder 100 threads te voltooien.

Keer nu terug naar stap 4, open het HTTP-verzoekvenster, voer " kalender " in het paneel in. Het zorgt ervoor dat JMeter een URL-verzoek https://calendar.google.com/calendar/u/0/r naar de Google-server maakt. Dit is een correct URL-verzoek, dus de Google-server retourneert OK (geen fout).

Selecteer View Result Tree, druk op de Run-knop op de menubalk. U ziet het OK- antwoord van de Google-server en de test gaat door totdat alle 100 threads zijn voltooid.

Probleemoplossen:

Als u het probleem tegenkomt terwijl u het bovenstaande scenario uitvoert, doet u het volgende:

  1. Controleer of u verbinding maakt met internet via een proxy. Zo ja, verwijder de proxy.
  2. Open een nieuw exemplaar van Jmeter
  3. Open de ProcessorTestPlan.jmx in Jmeter
  4. Dubbelklik op Thread Group -> View Results Tree
  5. Voer de test uit