jmeter processors controllers
Oversigt over forprocessorer og controllere i JMeter (del III):
=> Følg den omfattende række gratis JMeter-tutorials her
Denne artikel vil guide brugerne gennem brugen af præprocessorer, postprocessorer og controllere i JMeter. Controllere er meget nyttige, da de laver dine testscenarier.
Det kan være en god idé at teste forskellige scenarier, hvor du vil konfigurere din egen rækkefølge af en anmodning, der sendes til en server for at overvåge responstid og andre ydeevne faktorer.
Hvad du vil lære:
- Forbehandlere
- Brugerparametre
- Eksempel på timeout
- Controllere
- Eksempel i realtid
- JMeters optagelseskabelon
- Konklusion
- Anbefalet læsning
Forbehandlere
Dette er de elementer, der udføres, før en sampler udføres. Du kan vedhæfte præprocessor med sampleren, som du vil foretage ændringer i anmodningen for.
Den enkleste af en sag kan være at tilføje 'Sample Timeout' -forprocessor med en HTTP-anmodning, så denne anmodning kun kører i defineret tidsperiode. Det sørger også for, at denne ændring kun udføres for den overordnede sampler.
Nedenfor er nogle af de forprocessorer, der bruges i JMeter:
- Forprocessor til bønneskal
- HTML Link Parser
- HTTP URL Re-Writing
- JDBC forprocessor
- Eksempel på timeout
- Brugerparametre
De mest almindeligt anvendte forklares nedenfor med eksempler. Du har muligvis ikke brug for alle i dine projekter. Prøv at identificere de scenarier, der er relateret til dit projekt, og implementer dem, der hjælper dig med at dække ydeevnescenarier i realtid.
Brugerparametre
Brugerparametre bruges til at definere værdier for variablerne, før de bruges i samplerne. Når JMeter udfører dette præprocessorelement, gemmer det værdierne i de variabler, som kan henvises til af alle samplere inden for den samme trådgruppe.
gratis video konvertering software til pc
Hvis du har flere tråde end antallet af brugere i 'Brugerparametre', gentages ekstra tråde igen gennem værdierne.
For eksempel, du har 5 brugere i din trådgruppe, men kun 3 i forprocessor, derefter dine 4thog en 5thtråd bruger param1 og param2 .
Eksempel på timeout
Denne forprocessor bruges til at definere timeoutvarigheden for anmodninger.
For eksempel, Hvis du har sat en prøvetid på 400 millisekunder, vil alle anmodninger, der tager tid> 400, have et mislykket svar. Se nedenstående skærmbilleder.
Controllere
Controllere er meget vigtige for at oprette en JMeter testplan i realtid. Den definerer den rækkefølge, som anmodningerne sendes til serveren.
For eksempel, Hvis du vil teste en webapplikation, hvor du vil have login en gang og søge, anmoder varevalg om at gå en efter en for alle iterationer. Controllere gør det muligt ved at styre strømmen af anmodninger, der foregår på den server, der testes.
Nedenfor er de mest anvendte controllere i JMeter
- Enkel controller
- Modulcontroller
- En gang kun controller
- Interleave Controller
- Loop Controller
- Hvis controller
- For hver controller
- Optagecontroller og lignende,
Enkel controller
Den enkle controller udfører ingen specifik funktion. Det er bare en slags container, hvor du kan holde dine lignende anmodninger for at gøre din testplan let forståelig.
Loop Controller
Hvis du vil have en bestemt anmodning om at køre flere iterationer end det, der er angivet i trådgruppen, kan du placere dem under Loop Controller og indtaste loop count i controller-indstillinger.
Eksempel: Hvis du har en trådgruppe med 1 bruger og 3 iterationer, kører alle dine anmodninger under denne gruppe 3 gange. Nu, hvis du har to HTTP-samplere under en loop-controller med loop count 2, vil begge disse samplere køre 1 * 3 * 2 = 6 gange.
Se nedenstående skærmbilleder, der forklarer det yderligere
En gang kun controller
Denne controller bruges, når du kun vil køre en bestemt anmodning en gang, selvom du har flere tråde i trådgruppen. Det enkleste eksempel, der kan overvejes, er 'Hentning af en hjemmesides hjemmeside' eller 'Log ind på en webapplikation'. Realtidsscenarie ønsker, at det kun skal ske en gang, og andre anmodninger såsom søgning eller redigering / sletning af noget skal ske flere gange.
Anmodning, der kun skal udføres en gang, kan placeres under Once Only Controller. Se skærmbillede nedenfor for din reference. Once Only Controller-indstillingerne omgår de overordnede trådgruppeindstillinger.
Optagecontroller
Ligesom Simple Controller ændrer Recording Controller ikke nogen rækkefølge af de anmodninger, der sendes til serveren. Det bruges med HTTP (S) Script Recorder. Alle anmodninger, der er optaget med dette ikke-testelement, gemmes under registreringscontroller.
Du skal angive målcontrolleren for at gemme de registrerede anmodninger, der er fremsat til serveren.
Optagecontroller og HTTP (s) scriptoptager kommer ind i billedet, når testere ikke har oplysningerne om anmodnings-URL'er og parametre. De kan simpelthen registrere og fange alle anmodninger, der rammer deres servere. Dette fungerer både til mobile såvel som webprojekter.
Gennemstrømningscontroller
Denne controller bruges også til at styre eksekveringsstrømmen. Som det ses i nedenstående klipning, er denne controller yderligere opdelt i to dele:
Procent udførelse - Dette valg får Jmeter til kun at udføre en bestemt procentdel af de samlede iterationer for samplere placeret under denne controller. Du kan også markere afkrydsningsfeltet 'Per bruger' for at kontrollere dette på brugerniveau.
For eksempel, Trådgruppen er konfigureret til at have 10 brugere, og antallet af sløjfer er 5. Derfor er de samlede iterationer 50. Hvis% udførelse er indstillet til 50%, udfører alle samplere under Throughput Controller kun 25 iterationer (50% af 50).
Samlede henrettelser - Dette giver brugerne mulighed for at specificere antallet af iterationer direkte for de samplere, der er indeholdt i denne controller.
Interleave Controller
Denne controller giver dig mulighed for at øge omfanget af din præstationstest ved at ændre sekvensen på et antal måder, så du får testet belastningen på serveren, når applikationer rammer anmodning med forskellige sekvenser. Interleave Controller foretager alternative valg med samplerne under den.
Hvis der er andre controllere som Simple Controller, der holdes under denne blok, giver interleave-controller privilegiet at vælge en sampler hver fra en container til hver iteration. For at forklare det yderligere skal du overveje nedenstående testplan.
Så Jmeter gentager alternativt mellem controllerne for hver iteration. Derfor vil sekvensen blive nævnt nedenfor
Anmodning1 -> Anmodning3 -> Anmodning 5 - Anmodning2 -> Anmodning4 -> Anmodning6
Se nedenstående JMeter-resultater med antal tråde = 2 og løkkeantal = 2.
bedste musik downloader til Android-telefoner
I ovenstående eksempel er Jmeter Interleaving med næste loop / iteration. Der er indstillinger i Interleave Controller, der kan få JMeter til at sende alternative anmodninger med hver nye tråd.
Se resultaterne nedenfor. Dette er nyttigt i scenarier, hvor du vil have sekventielle eller samtidige belastningsramte servere med den forskellige rækkefølge af anmodningen fra den samme maskine.
Tilfældig controller
Det fungerer næsten som Interleave-controller, men vælger ikke samplerne i rækkefølge. Det vælger bare undercontrollere og samplere inde i dem på en tilfældig basis.
Hvis controller
Hvis Controller fungerer på samme måde, behandles et IF-udtryk på ethvert programmeringssprog. Betingelsen valideres først, og derefter udføres komponenterne under denne container, hvis betingelsen er SAND, ellers bliver elementerne uden for IF-controlleren udført.
Eksempel : Fortsætter med et af de tidligere eksempler, der involverer Interleave Controller, er nu en af de to Interleave-controllere blevet holdt under IF Controller og betingelse “$ (COUNT)<10 is added as a condition. Variable COUNT is defined in config element “User Defined Variables” and is given a value equal to 11. Configuration is described below
Definition og tildeling af en værdi til COUNT Variable.
Definition af tilstand i Hvis controller indstillinger. Jmeter validerer denne betingelse, og hvis SAND, vil den udføre blokke under denne container.
Som du kan se nedenunder testplan, udføres kun Request3, Request4 og Request5, hvis IF-tilstand vurderes som Falsk .
Mens controllere
Denne controller udfører komponenterne under den, indtil tilstanden bliver falsk.
For eksempel, sig, at vi har en tilstand, mens ($ (count)<10), it will execute the child elements until the condition is false. To test this, there should be a counter which gets increment or decrement on each iteration and then condition is evaluated. Config Element “Counter” can be used to serve this purpose.
Konfigurer 'Counter' -konfigurationselementet til at starte ved 1 og derefter forøges ved hver iteration. Se nedenfor for mere præcisering:
Vi berører resten af controllerne i vores video-tutorials.
Eksempel i realtid
Lad os overveje et scenario, hvor testteamet ikke kender URL'erne og parametrene for al anmodning, der rammer den server, der testes. For at indlæse testen af serveren skal de nu registrere anmodningerne og derefter modulere belastningen sekventielt eller samtidigt og oprette scenarier ud af dem for at udføre præstationstestningen.
Trin
sql interviewspørgsmål med svar pdf
- Tilføj en skabelon i Jmeter til Recording Controller
- Indstil proxyen på din browser, og vælg den samme port i HTTP (s) Script Recorder
- Registrer anmodningerne
- Rediger testplanen og øg belastningen
- Gruppér transaktionerne i overensstemmelse hermed
- Prøv forskellige kombinationer af anmodning
JMeters optagelseskabelon
JMeter har også en foruddefineret skabelon. Vælg 'Skabelon' i File Menu. Efter at have valgt skabelonen for at vælge 'Optagelse' i vinduet, der åbnes, og klik på Opret.
Så snart du vælger denne optagelseskabelon, vil du se nogle komponenter, der allerede er tilføjet i testplanen.
- HTTP (s) Script Recorder under Work Bench
- HTTP-anmodningsstandarder og HTTP Cookie Manager
- Optagecontroller under trådgruppe.
Du kan enten udføre proxyindstillinger i din browser for at tale med JMeter proxyserver eller bruge CHROME Extension Blazemeter til at registrere anmodningerne og derefter eksportere. jmx-fil til Jmeter. Der er mange andre udvidelser til at optage scriptet og derefter eksportere det til JMeter. BADBOY-værktøjet fungerer også godt med Jmeter til optagelse af både web- og mobilhits.
Klik på. jmx mulighed for at eksportere den optagede anmodning til Jmeter. Åbn nu fra Jmeter. jmx-fil og se anmodningerne og parametrene, der er knyttet til hver anmodning.
Konklusion
Nu antages det, at du alle skal have gjort dig meget fortrolig med den grundlæggende logik i JMeter, hvordan det simulerer belastning, hvordan man spiller med forskellige typer samplere, hvordan man styrer eksekveringsflow med brug af Controller og ved hjælp af variabler og funktioner til at køre sløjferne på tværs af gentagelserne. Dette er bestemt ikke afslutningen på serien af tutorials om JMeter.
Der er mange video tutorials at følge, som vil guide testere med flere hænder på forskellige scenarier i Jmeter, og hvordan hver JMeter-komponent kan bruges på den bedste måde.
=> Tjek den komplette liste over JMeter-videovejledninger her
Del dine kommentarer eller spørgsmål med os.
Anbefalet læsning
- Jmeter-controllere del 1
- Jmeter-controllere del 2
- Sådan opnås JMeter-korrelation med eksempel
- Arbejde med HTTP-anmodninger i JMeter
- Arbejde med FTP-anmodning i JMeter
- Brug af postprocessor i JMeter (Regular Expression Extractor)
- Top 5 JMeter-plugins og hvordan man bruger dem (med eksempler)
- JMeter Timers: Konstant, BeanShell og Guassian tilfældig timer