Hva er korrelasjon?
Korrelasjon, som navnet antyder, er en mekanisme for å definere et forhold mellom to variabler eller enheter. En ordbok definerer den som “statistisk forhold mellom to eller flere variabler slik at systematiske endringer i den andre følger systematiske endringer i verdien av en variabel”.
I denne opplæringen vil vi lære om
- Hvorfor trenger vi korrelasjon?
- Automatisk korrelasjon
- Manuell korrelasjon
- Forstå funksjonen Web_reg_save_param
Hvorfor trenger vi korrelasjon?
La oss forstå samarbeid med følgende scenario.
Vurder at du tar opp et skript ved hjelp av LoadRunner.
Klient-server kommunikasjon
- Under Record sender klienten en forespørsel til serveren om å starte en økt
- En server mottar forespørselen og tildeler en ny sesjons-ID ABC
- Klient lagrer økt-id ABC i skriptet.
- Klienten starter økten med ID ABC og sender en forespørsel til en server for å la den spille inn
- Serveren gjenkjenner ID ABC og lar klienten spille inn skriptet
- La oss nå studere klient-server-kommunikasjonen under reprisen
- Under Replay sender en klient en forespørsel til serveren om å starte en økt
- En server mottar forespørselen og tildeler en ny økt-ID XYZ
- En klient starter økten med tidligere registrert økt-ID ABC og sender forespørsel til serveren slik at den kan tas opp
- En server klarer ikke å identifisere ID ABC siden den forventet ID XYZ som den har tildelt, og økten mislykkes.
Vi trenger en løsning for å analysere den dynamiske verdien som sendes ved kjøretid og returnere denne verdien til serveren. Slik ser klient-server-kommunikasjonen ut med denne løsningen
- Under Replay sender en klient en forespørsel til serveren om å starte en økt
- En server mottar forespørselen, og tildeler en ny økt-ID ZZZ
- En klient analyserer denne nye økt-IDen ZZZ fra forespørselen.
- En klient sender en forespørsel om å starte økten med id ZZZ
- En server gjenkjenner ID ZZZ og lar klienten spille av skriptet på nytt
Dette er bare korrelasjon .
Klikk her hvis videoen ikke er tilgjengelig
I tilfelle VUGen er korrelasjon et bindende forhold mellom et svar og en hvilken som helst forespørsel.
Det er forskjellige situasjoner når en forespørsel er basert på et tidligere mottatt svar fra serveren, for eksempel en økt-ID, serverdato / -tid som hentes fra serveren. Disse verdiene er forskjellige hver gang du kjører et program eller spiller inn et skript. Åpenbart, hvis utførelsen av skript avhenger av en verdi som serveren returnerer, betyr det at du må finne en mekanisme der du kan "fange" serverresponsen og knytte til de forespørslene som serveren forventer. Dette kalles vanligvis Korrelasjon i LoadRunner.
Med enkle ord er løsningen ved å bruke Korrelasjon:
- Fang utdataverdi fra et trinn
- Bruk ovennevnte verdi for å tjene som input til alle påfølgende trinn
Korrelasjon er klassifisert i to kategorier i VUGen / LoadRunner:
- Automatisk korrelasjon
- Manuell korrelasjon
Automatisk korrelasjon
LoadRunner gir en mekanisme for å enkelt utføre korrelasjon på automatisk måte.
VUGen vil kreve at du kjører et innspilt skript minst to ganger, slik at det internt kan sammenligne de forskjellige verdiene i serverresponsen.
Automatisk korrelasjon kan klassifiseres i tre kategorier:
- Auto-Detect Correlation
- Regelbasert korrelasjon
- Korrelerer alle uttalelser
Regelnavn | Når skal du bruke |
Auto-detect Correlation | Oppdag og korrelér dynamiske data for applikasjonsservere som støttes av HP LoadRunner |
Regelbasert | Brukes når du arbeider med en ikke-støttet applikasjonsserver som konteksten er kjent for. |
Korrelere alle | Hjelper med å korrelere alle dynamiske data på blind måte. |
Selv om automatisk korrelasjon virker enklere, kan den være utsatt for feil og fungerer i ikke mer enn 5% av tilfellene. Det anbefales alltid å bruke manuell korrelasjon.
For å konfigurere automatisk korrelasjon på opptakstidspunktet, utfør konfigurasjonen nedenfor under Record Time Setting etter at et skript er spilt inn.
Klikk på Record => Recording Options (eller klikk Ctrl + F7),
>
Under vinduet åpnes:
Klikk på Korrelasjon => Konfigurasjon - vinduet nedenfor åpnes.
Her må du merke som avmerket mot alle applikasjoner (ASPNET) osv., Som brukes i fagsøknaden din. På høyre side kan du se reglene som vil oppdage mulige kandidater for korrelasjon, for eksempel _VIEWSTATE. Du kan også legge til flere applikasjoner eller egendefinerte regler ved å klikke på Ny regel-knappen.
Du kan også klikke på REGLER, du vil se som nedenfor:
For at automatisk korrelasjon skal fungere, må du sørge for at Regelskanning er merket som merket. Hvis du klikker på funnet korrelater automatisk, vil ikke VUGen be deg om valget når en korrelasjonskandidat er funnet, i stedet vil den bare korrelere dem.
Vi vil forstå API som brukes til korrelasjon senere. Det anbefales imidlertid å bruke HTML-sammenligning i stedet for tekstsammenligning.
Når du har valgt noen regler, klikker du på OK-knappen for å lukke vinduene.
Klikk på fra menyen og VUGen vil regenerere skriptet (uten å måtte ta opp) med nye konfigurasjoner. VUGen vil automatisk legge til et nødvendig stykke kode for å håndtere korrelasjon. Vi vil se på prøven mer detaljert i Manual Correlation.
Vær oppmerksom på at hvis du utfører korrelasjon manuelt eller bruker automatisk korrelasjon, vil kodebiten inneholde nøyaktig samme syntaks og funksjon.
Fremgangsmåte for å automatisk korrelere et skript:
- Ta opp et manus
- Replay-skript
- Identifiser verdiene som skal korreleres
- Velg verdiene og klikk på knappen for automatisk korrelering
- Bekreft skriptet ved å kjøre igjen. Et vellykket løp betyr vellykket korrelasjon.
Tips:
- Korrelasjon hjelper deg med å kjøre skriptet ditt med forskjellige verdier
- Korrelasjon reduserer også størrelsen på skriptet ditt
Manuell korrelasjon
Manuell korrelasjon handler om å skrive kode direkte i skriptet ditt for å imøtekomme stadig skiftende verdier. Vi kan dele den i trinnene nedenfor:
- Bestem verdien du vil fange
- Finn høyre og venstre tekstgrense for verdien du skal fange (WEB)
- Finn hvilken forekomst av tekstgrensene som skal brukes
- Legg til en web_reg_save_param-funksjon i skriptet, over kodebiten som ber om siden med verdien å fange
- Legg til et parameternavn, venstre grense, høyre grense og forekomst til funksjonen
- Parameteriser den dynamiske verdien i skriptet hver gang det oppstår
- Bekreft riktig utførelse
web_reg_save_param ("OracleAppJSESSIONID3","LB / IC = JSESSIONID =","RB / IC =;","Ord = l","Søk = overskrifter","RelFrameId = l",SISTE);web_reg_save_param ("Siebel_Analytic_ViewState2","LB / IC = ViewState \" value = \ "","RB / IC = \" ","Ord = 1","Søk = kropp","RelFrameId = l",SISTE);
Manuell korrelasjon kan gjøres av VUser Comparison. Trinn i VUser Comparison-metoden for korrelasjon kan deles opp som nedenfor:
- Identifiser dynamiske verdier som må korreleres
- Finn svar fra servere som inneholder den dynamiske verdien
- Ta opp den dynamiske verdien i en parameter
- Erstatt hver forekomst av den dynamiske verdien med parameteren
- Bekreft endringer
Forstå funksjonen Web_reg_save_param
VUGen tilbyr flere funksjoner eller APIer for å korrelere kandidater, inkludert:
- web_reg_save_param
- web_reg_save_param_ex
- web_reg_save_param_regexp
- web_reg_save_param_xpath
Mens det gis en kort introduksjon her, for å få en detaljert forståelse av funksjoner og deres parametere, åpner du VUGen, skriver funksjon (eller bruker Steps Toolbox), flytter en markør på funksjonen og klikker F1 - bli kjent med VUGen-hjelpen og lag en vane. Du må takle det mye når du jobber i bransjen.
Her går vi med funksjonsdetaljene:
web_reg_save_param (Parameternavn, Venstre grense, Høyre grense)
Liste over attributter
Konverter: De mulige verdiene er:
HTML_TO_URL : konverter HTML-kodede data til et URL-kodet dataformat
HTML_TO_TEXT : konvertere HTML-kodede data til vanlig tekstformat; dette attributtet er valgfritt.
Ignorer viderekoblinger : Hvis "Ignorer viderekoblinger = Ja" er angitt og serverresponsen er viderekoblingsinformasjon (HTTP-statuskode 300-303, 307), blir ikke svaret søkt. I stedet, etter å ha mottatt et viderekoblingssvar, blir GET-forespørselen sendt til den viderekoblede posisjonen, og søket utføres på svaret fra det stedet.
Denne attributtet er valgfri. Standard er "Ignorer omdirigeringer = Nei".
LB: Den venstre grensen til parameteren eller de dynamiske dataene. Hvis du ikke spesifiserer en LB-verdi, bruker den alle tegnene fra begynnelsen av dataene som en grense. Grenseparametere er store og små bokstaver. For å tilpasse søketeksten ytterligere, bruk ett eller flere tekstflagg. Denne attributtet er påkrevd. Se delen Grenseargumenter.
NOTFOUND : Håndteringsalternativet når en grense ikke blir funnet, og en tom streng genereres.
"Ikke funnet = feil", standardverdien, fører til at en feil heves når en grense ikke blir funnet.
"Ikke funnet = advarsel" ("Ikke funnet = tomt" i tidligere versjoner), utsteder ikke en feil. Hvis grensen ikke blir funnet, setter den parameterantallet til 0 og fortsetter å utføre skriptet. Alternativet "advarsel" er ideelt hvis du vil se om strengen ble funnet, men du ikke vil at skriptet skal mislykkes.
Merk : Hvis Fortsett på feil er aktivert for skriptet, selv om NOTFOUND er satt til "feil", fortsetter skriptet når grensen ikke blir funnet, men en feilmelding skrives til den utvidede loggfilen.
Denne egenskapen er også valgfri.
ORD : Indikerer kampens ordinære posisjon eller forekomst. Standardforekomsten er 1. Hvis du spesifiserer "Alle", lagrer den parameterverdiene i en matrise. Denne attributtet er valgfri.
Merk: Bruk av Instance i stedet for ORD støttes for bakoverkompatibilitet, men avvikles.
RB: Den høyre grensen til parameteren eller de dynamiske dataene. Hvis du ikke spesifiserer en RB-verdi, bruker den alle tegnene til slutten av dataene som en grense. Grenseparametere er store og små bokstaver. For å tilpasse søketeksten ytterligere, bruk ett eller flere tekstflagg. Denne attributtet er påkrevd. Se delen Grenseargumenter.
RelFrameID : Hierarkinivået til HTML-siden i forhold til den forespurte URL-en. De mulige verdiene er ALLE eller et tall. Klikk RelFrameID Attribute for en detaljert beskrivelse. Denne attributtet er valgfri.
Merk: RelFrameID støttes ikke i GUI-nivåskript.
SaveLen : Lengden på en understreng av den funnet verdien, fra den angitte forskyvningen, for å lagre i parameteren. Denne attributtet er valgfri. Standardverdien er -1, noe som indikerer å lagre til slutten av strengen.
SaveOffset : Offset av en understreng av den funnet verdien, for å lagre til parameteren. Offsetverdien må være ikke-negativ. Standard er 0. Dette attributtet er valgfritt.
Søk: Omfanget av søket hvor du skal søke etter avgrensede data. De mulige verdiene er overskrifter (søk bare i overskriftene), brødtekst (søk bare på kroppsdata, ikke i overskrifter), ingen ressurs (søk bare i HTML-teksten, unntatt alle overskrifter og ressurser) eller ALLE (søkeorgan, overskrifter og ressurser) . Standardverdien er ALL. Denne egenskapen er valgfri, men generelt foretrukket.