Korrelation i LoadRunner med Web_Reg_Save_Param Eksempel

Indholdsfortegnelse:

Anonim

Hvad er korrelation?

Korrelation, som navnet antyder, er en mekanisme til at definere et forhold mellem to variabler eller enheder. En ordbog definerer det som “statistisk forhold mellem to eller flere variabler, således at systematiske ændringer i den anden ledsager systematiske ændringer i værdien af ​​en variabel”.

I denne vejledning lærer vi om

  • Hvorfor har vi brug for sammenhæng?
  • Automatisk korrelation
  • Manuel korrelation
  • Forståelse af Web_reg_save_param-funktionen

Hvorfor har vi brug for sammenhæng?

Lad os forstå samforholdet med følgende scenarie.

Overvej at du optager et script ved hjælp af LoadRunner.

Klient-server kommunikation

  1. Under Record sender klienten en anmodning til serveren om at starte en session
  2. En server modtager anmodningen og tildeler et nyt session-id ABC
  3. Klienten gemmer session-id ABC i scriptet.
  4. Klienten starter sessionen med ID ABC og sender en anmodning til en server for at lade den optage
  5. Serveren genkender ID ABC og tillader klienten at optage scriptet

  1. Lad os nu studere klient-server-kommunikationen under gentagelse
  2. Under afspilning sender en klient en anmodning til serveren om at starte en session
  3. En server modtager anmodningen og tildeler et nyt session-id XYZ
  4. En klient starter sessionen med tidligere optaget session ID ABC og sender anmodning til serveren for at lade den optage
  5. En server kan ikke identificere ID ABC, da den forventede ID XYZ, som den har tildelt, og session mislykkes.

Vi har brug for en løsning, der opsamler den dynamiske værdi, der sendes ved kørsel, og returnerer denne værdi tilbage til serveren. Sådan ser klient-server-kommunikationen ud med denne løsning

  1. Under afspilning sender en klient en anmodning til serveren om at starte en session
  2. En server modtager anmodningen og tildeler et nyt session-ID ZZZ
  3. En klient parser dette nye session-id ZZZ fra anmodningen.
  4. En klient sender en anmodning om at starte session med id ZZZ
  5. En server genkender ID ZZZ og giver klienten mulighed for at afspille scriptet igen

Dette er intet andet end sammenhæng .

Klik her, hvis videoen ikke er tilgængelig

I tilfælde af VUGen er korrelation et bindende forhold mellem et svar og enhver foregående anmodning.

Der er forskellige situationer, hvor en anmodning er baseret på et tidligere modtaget svar fra serveren, såsom et session-id, serverdato / -tid, der hentes fra serveren. Disse værdier er forskellige, hver gang du kører et program eller optager et script. Hvis udførelsen af ​​script afhænger af en værdi, der returneres af serveren, betyder det selvfølgelig, at du skal finde en mekanisme, hvor du kan "fange" serverresponset og vedhæfte de anmodninger, som serveren forventer. Dette kaldes typisk Correlation i LoadRunner.

I enkle ord er løsningen ved hjælp af korrelation:

  1. Optag outputværdien fra et trin
  2. Brug den overfangede værdi til at fungere som input til alle efterfølgende trin

Korrelation er klassificeret i 2 kategorier i VUGen / LoadRunner:

  • Automatisk korrelation
  • Manuel korrelation

Automatisk korrelation

LoadRunner giver en mekanisme til let at udføre korrelation på automatisk måde.

VUGen kræver, at du kører et indspillet script mindst to gange, så det internt kan sammenligne de forskellige værdier i serverresponset.

Automatisk korrelation kan klassificeres i 3 kategorier:

  • Autodetekter korrelation
  • Regelbaseret korrelation
  • Korrelerer alle udsagn
Regelnavn Hvornår skal du bruge?
Autodetekter korrelation Registrer og korrelér dynamiske data for applikationsservere, der understøttes af HP LoadRunner
Regelbaseret Bruges til at arbejde med en ikke-understøttet applikationsserver, som konteksten er kendt for.
Korrelér alt Hjælper med at korrelere alle dynamiske data på blind måde.

Selvom automatisk korrelation virker enklere, kan den være udsat for fejl og fungerer i ikke mere end 5% af tilfældene. Det tilrådes altid at bruge manuel korrelation.

For at konfigurere automatisk korrelation på optagelsestidspunktet skal du udføre nedenstående konfiguration i Record Time Setting, når et script er blevet optaget.

Klik på Optag => Optagelsesindstillinger (eller klik på Ctrl + F7),

>

Nedenfor vinduet åbnes:

Klik på Korrelation => Konfiguration - nedenunder åbnes vinduet.

Her skal du markere som afkrydset i forhold til alle applikationer (ASPNET) osv., Der bruges i din fagansøgning. På højre side kan du se de regler, der registrerer mulige kandidater til korrelation, f.eks. _VIEWSTATE. Du kan også tilføje flere applikationer eller brugerdefinerede regler ved at klikke på knappen Ny regel.

Du kan også klikke på REGLER, du vil se som nedenfor:

For at automatisk korrelation kan fungere, skal du sikre, at Regelscanning er markeret som afkrydset. Hvis du klikker på fundet korrelerede værdier automatisk, vil VUGen ikke bede dig om valget, når en korrelationskandidat er fundet, i stedet vil den bare korrelere dem.

Vi vil forstå API, der bruges til korrelation senere. Det tilrådes dog at bruge HTML-sammenligning i stedet for tekstsammenligning.

Når du har valgt regler, skal du klikke på knappen OK for at lukke vinduerne.

Klik på fra menuen, så VUGen vil genoprette scriptet (uden at skulle optage) med nye konfigurationer. VUGen tilføjer automatisk et påkrævet stykke kode for at håndtere korrelation. Vi vil se på prøven mere detaljeret i Manuel korrelation.

Bemærk, at hvis du udfører korrelation manuelt eller bruger automatisk korrelation, vil kodestykket indeholde nøjagtig samme syntaks og funktion.

Trin til automatisk korrelering af et script:

  1. Optag et script
  2. Genafspil script
  3. Identificer de værdier, der skal korreleres
  4. Vælg værdierne, og klik på knappen auto-korrelér
  5. Bekræft scriptet ved at køre igen. En vellykket kørsel betyder vellykket sammenhæng.

Tip:

  • Korrelation hjælper med at køre dit script med forskellige værdier
  • Korrelation reducerer også størrelsen på dit script

Manuel korrelation

Manuel korrelation handler om at skrive kode direkte i dit script for at imødekomme stadigt skiftende værdier. Vi kan opdele det i nedenstående trin:

  1. Bestem den værdi, der skal fanges
  2. Find de højre og venstre tekstgrænser for den værdi, der skal fanges (WEB)
  3. Find hvilken forekomst af tekstgrænserne, der skal bruges
  4. Føj en web_reg_save_param-funktion til scriptet over det kodestykke, der anmoder om siden med den værdi, der skal fanges
  5. Føj et parameternavn, venstre grænse, højre grænse og forekomst til funktionen
  6. Parameteriser den dynamiske værdi i scriptet, hver gang det forekommer
  7. Kontroller korrekt udførelse
web_reg_save_param ("OracleAppJSESSIONID3","LB / IC = JSESSIONID =","RB / IC =;","Ord = l","Søg = overskrifter","RelFrameId = l",SIDST);web_reg_save_param ("Siebel_Analytic_ViewState2","LB / IC = ViewState \" værdi = \ "","RB / IC = \" ","Ord = 1","Søg = krop","RelFrameId = l",SIDST);

Manuel korrelation kan udføres af VUser Comparison. Trin i VUser Comparison-metode til korrelation kan opdeles som nedenfor:

  1. Identificer dynamiske værdier, der skal korreleres
  2. Find Servers svar, der indeholder den dynamiske værdi
  3. Indfang den dynamiske værdi i en parameter
  4. Erstat hver forekomst af den dynamiske værdi med parameteren
  5. Bekræft ændringer

Forståelse af Web_reg_save_param-funktionen

VUGen leverer flere funktioner eller API'er til at korrelere kandidater, herunder:

  • web_reg_save_param
  • web_reg_save_param_ex
  • web_reg_save_param_regexp
  • web_reg_save_param_xpath

Mens der gives en kort introduktion her, for at få en detaljeret forståelse af funktioner og deres parametre, skal du åbne VUGen, skrive funktion (eller bruge Steps Toolbox), flytte en markør på funktionen og klikke på F1 - gør dig bekendt med VUGen-hjælp og lav en vane. Du bliver nødt til at håndtere det meget, når du arbejder i branchen.

Her går vi med funktionsoplysningerne:

web_reg_save_param (Parameternavn, venstre grænse, højre grænse)

Liste over attributter

Konverter: De mulige værdier er:

HTML_TO_URL : konverter HTML-kodede data til et URL-kodet dataformat

HTML_TO_TEXT : konvertere HTML-kodede data til almindeligt tekstformat; denne attribut er valgfri.

Ignorer omdirigeringer : Hvis "Ignorer omdirigeringer = Ja" er angivet, og serverens svar er omdirigeringsoplysninger (HTTP-statuskode 300-303, 307), søges der ikke efter svaret. I stedet for, efter at have modtaget et omdirigeringssvar, sendes GET-anmodningen til den omdirigerede placering, og søgningen udføres på svaret fra denne placering.

Denne attribut er valgfri. Standard er "Ignorer omdirigeringer = Nej".

LB: Parameterens venstre grænse eller de dynamiske data. Hvis du ikke angiver en LB-værdi, bruger den alle tegnene fra begyndelsen af ​​dataene som en grænse. Grænseparametre er store og små bogstaver. For at tilpasse søgeteksten yderligere skal du bruge et eller flere tekstflag. Denne attribut er påkrævet. Se afsnittet Grænseargumenter.

NOTFOUND : Håndteringsmuligheden, når en grænse ikke findes, og der genereres en tom streng.

"Ikke fundet = fejl", standardværdien, får en fejl til at hæves, når en grænse ikke findes.

"Ikke fundet = advarsel" ("Ikke fundet = tom" i tidligere versioner), udsender ikke en fejl. Hvis grænsen ikke findes, indstiller parameterantalet til 0 og fortsætter med at udføre scriptet. Indstillingen "advarsel" er ideel, hvis du vil se, om strengen blev fundet, men du ikke ønsker, at scriptet mislykkes.

Bemærk : Hvis Fortsæt ved fejl er aktiveret for scriptet, så selv når NOTFOUND er indstillet til "fejl", fortsætter scriptet, når grænsen ikke findes, men der skrives en fejlmeddelelse til den udvidede logfil.

Denne attribut er også valgfri.

ORD : Angiver kampens ordinære position eller forekomst. Standardinstansen er 1. Hvis du angiver "Alle", gemmer den parameterværdierne i en matrix. Denne attribut er valgfri.

Bemærk: Brug af Instance i stedet for ORD understøttes for bagudkompatibilitet, men forældes.

RB: Den højre grænse for parameteren eller de dynamiske data. Hvis du ikke angiver en RB-værdi, bruger den alle tegn indtil slutningen af ​​dataene som en grænse. Grænseparametre er store og små bogstaver. For at tilpasse søgeteksten yderligere skal du bruge et eller flere tekstflag. Denne attribut er påkrævet. Se afsnittet Grænseargumenter.

RelFrameID : Hierarkiniveauet for HTML-siden i forhold til den anmodede URL. De mulige værdier er ALLE eller et tal. Klik på RelFrameID-attribut for en detaljeret beskrivelse. Denne attribut er valgfri.

Bemærk: RelFrameID understøttes ikke i GUI-niveau-scripts.

SaveLen : Længden af ​​en understreng af den fundne værdi fra den angivne forskydning, der skal gemmes i parameteren. Denne attribut er valgfri. Standard er -1, hvilket indikerer at gemme i slutningen af ​​strengen.

SaveOffset : Forskydningen af ​​en understreng af den fundne værdi for at gemme i parameteren. Offsetværdien skal være ikke-negativ. Standard er 0. Denne attribut er valgfri.

Søg: Omfanget af søgningen - hvor skal man søge efter de afgrænsede data. De mulige værdier er overskrifter (søg kun i overskrifter), brødtekst (søg kun på kropsdata, ikke på overskrifter), ingen ressource (søg kun i HTML-krop, undtagen alle overskrifter og ressourcer) eller ALLE (søgekrop, overskrifter og ressourcer) . Standardværdien er ALL. Denne attribut er valgfri, men generelt foretrukket.