Što je korelacija?
Korelacija je, kao što i samo ime govori, mehanizam definiranja odnosa između dvije varijable ili entiteta. Rječnik ga definira kao „statistički odnos između dvije ili više varijabli takav da sustavne promjene u drugoj prate sustavne promjene u vrijednosti jedne varijable“.
U ovom uputstvu naučit ćemo o
- Zašto nam je potrebna korelacija?
- Automatska korelacija
- Ručna korelacija
- Razumijevanje funkcije Web_reg_save_param
Zašto nam je potrebna korelacija?
Razumijemo suodnos sa sljedećim scenarijem.
Uzmite u obzir da snimate skriptu pomoću LoadRunnera.
Komunikacija klijent-poslužitelj
- Tijekom Record, klijent šalje zahtjev poslužitelju za pokretanje sesije
- Poslužitelj prima zahtjev i dodjeljuje novi ID sesije ABC
- Klijent u skriptu sprema ID sesije ABC.
- Klijent započinje sesiju s ID-om ABC i šalje zahtjev poslužitelju da mu omogući snimanje
- Poslužitelj prepoznaje ID ABC i omogućuje klijentu snimanje skripte
- Sada, proučimo komunikaciju klijent-poslužitelj tijekom ponovnog reproduciranja
- Tijekom ponovne reprodukcije klijent šalje poslužitelju zahtjev za pokretanje sesije
- Poslužitelj prima zahtjev i dodjeljuje novi ID sesije XYZ
- Klijent započinje sesiju s prethodno snimljenim ID-om sesije ABC i šalje zahtjev poslužitelju da mu omogući snimanje
- Poslužitelj nije u mogućnosti identificirati ID ABC jer je očekivao ID XYZ koji je dodijelio i sesija ne uspije.
Treba nam rješenje koje će zahvatiti raščlanjivanje dinamičke vrijednosti poslane u vrijeme izvođenja i vraćanje te vrijednosti natrag na poslužitelj. Evo kako će izgledati komunikacija klijent-poslužitelj s ovim rješenjem
- Tijekom ponovne reprodukcije klijent šalje poslužitelju zahtjev za pokretanje sesije
- Poslužitelj prima zahtjev i dodjeljuje novi ID sesije ZZZ
- Klijent raščlanjuje ovu novu ID sesije ZZZ iz zahtjeva.
- Klijent šalje zahtjev za započinjanje sesije s ID-om ZZZ
- Poslužitelj prepoznaje ID ZZZ i omogućuje klijentu ponovnu reprodukciju skripte
Ovo nije ništa drugo do korelacija .
Kliknite ovdje ako videozapis nije dostupan
U slučaju VUGen-a, korelacija je obvezujući odnos između odgovora i bilo kojeg prethodnog zahtjeva.
Postoje razne situacije kada se zahtjev temelji na prethodno primljenom odgovoru od poslužitelja, poput ID-a sesije, datuma / vremena poslužitelja koji se preuzima sa poslužitelja. Te se vrijednosti razlikuju svaki put kad pokrenete aplikaciju ili snimite skriptu. Očito, ako izvršenje skripte ovisi o vrijednosti koju je vratio poslužitelj, to znači da trebate pronaći mehanizam u kojem možete "uhvatiti" odgovor poslužitelja i priložiti se onim zahtjevima koje poslužitelj očekuje. To se obično naziva Korelacija u LoadRunneru.
Jednostavnim riječima, rješenje korištenjem Korelacije je:
- Hvatanje izlazne vrijednosti iz koraka
- Upotrijebite gornju zabilježenu vrijednost kako biste poslužili kao ulaz u sve naredne korake
Korelacija je klasificirana u 2 kategorije u VUGen / LoadRunner:
- Automatska korelacija
- Ručna korelacija
Automatska korelacija
LoadRunner pruža mehanizam za jednostavno izvođenje korelacije na automatski način.
VUGen će tražiti da pokrenete snimljenu skriptu najmanje dva puta kako bi mogao interno usporediti različite vrijednosti u odgovoru poslužitelja.
Automatska korelacija može se klasificirati u 3 kategorije:
- Automatsko otkrivanje korelacije
- Korelacija zasnovana na pravilima
- Povezivanje svih izjava
Naziv pravila | Kada koristiti |
Automatsko otkrivanje korelacije | Otkrivanje i korelacija dinamičkih podataka za aplikacijske poslužitelje koje podržava HP LoadRunner |
Na temelju pravila | Koristi se pri radu s nepodržanim aplikacijskim poslužiteljem kojem je kontekst poznat. |
Poveži sve | Pomaže u korelaciji svih dinamičkih podataka na slijepi način. |
Iako se automatska korelacija čini jednostavnijom, može biti podložna pogreškama i djeluje u ne više od 5% slučajeva. Uvijek je poželjno koristiti ručnu korelaciju.
Da biste konfigurirali automatsku korelaciju u vrijeme snimanja, izvedite donju konfiguraciju u Postavka vremena snimanja nakon što je snimljena skripta.
Kliknite Snimanje => Opcije snimanja (ili pritisnite Ctrl + F7),
>
Otvorit će se prozor ispod:
Kliknite na Korelacija => Konfiguracija - otvorit će se prozor ispod.
Ovdje morate označiti kao označene kao provjerene u odnosu na sve programe (ASPNET) itd. Koji se koriste u vašoj predmetnoj aplikaciji. S desne strane možete vidjeti pravila koja će otkriti moguće kandidate za korelaciju, npr. _VIEWSTATE. Klikom na gumb Novo pravilo možete dodati i više aplikacija ili prilagođenih pravila.
Također možete kliknuti na PRAVILA, vidjet ćete kao ispod:
Da bi automatska korelacija funkcionirala, morate osigurati da je Skeniranje pravila označeno kao označeno. Ako kliknete na pronađene vrijednosti automatske korelacije, VUGen vas neće pitati za odabir kada se pronađe kandidat za korelaciju, već će ih samo korelirati.
Kasnije ćemo razumjeti API koji se koristi za korelaciju. Međutim, preporučljivo je koristiti HTML usporedbu umjesto usporedbe teksta.
Nakon što odaberete bilo koje pravilo, kliknite gumb U redu da biste zatvorili prozore.
Kliknite iz izbornika i VUGen će obnoviti skriptu (bez potrebe za snimanjem) s novim konfiguracijama. VUGen će automatski dodati potreban dio koda za obradu korelacije. Uzorak ćemo detaljnije pogledati u Manual Correlation.
Imajte na umu da ako ručno izvodite korelaciju ili koristite automatsku korelaciju, dio koda sadržavat će potpuno istu sintaksu i funkciju.
Koraci za automatsko povezivanje skripte:
- Snimite skriptu
- Ponoviti skriptu
- Utvrdite vrijednosti koje treba korelirati
- Odaberite vrijednosti i kliknite gumb automatske korelacije
- Potvrdite skriptu ponovnim pokretanjem. Uspješno trčanje znači uspješnu korelaciju.
Savjet:
- Korelacija pomaže u pokretanju vaše skripte s različitim vrijednostima
- Korelacija također smanjuje veličinu vaše skripte
Ručna korelacija
Ručna korelacija odnosi se na pisanje koda izravno u vašu skriptu kako bi se zadovoljile promjene koje se stalno mijenjaju. Možemo ga podijeliti na korake u nastavku:
- Odredite vrijednost za hvatanje
- Pronađite desnu i lijevu granicu teksta vrijednosti za hvatanje (WEB)
- Pronađite koja pojava granica teksta treba biti korištena
- U skriptu dodajte funkciju web_reg_save_param, iznad dijela koda koji zahtijeva snimanje stranice s vrijednošću
- Funkciji dodajte naziv parametra, lijevu granicu, desnu granicu i pojavu
- Parameterizirajte dinamičku vrijednost u skripti svaki put kad se dogodi
- Provjerite ispravnost izvršenja
web_reg_save_param ("OracleAppJSESSIONID3","LB / IC = JSESSIONID =","RB / IC =;","Red = l","Traži = zaglavlja","RelFrameId = l",POSLJEDNJI);web_reg_save_param ("Siebel_Analytic_ViewState2","LB / IC = ViewState \" value = \ "","RB / IC = \" ","Red = 1","Search = Body","RelFrameId = l",POSLJEDNJI);
Ručna korelacija može se izvršiti pomoću VUser Comparison. Koraci u VUser Usporedbi metode korelacije mogu se podijeliti na sljedeći način:
- Utvrdite dinamičke vrijednosti koje trebaju biti povezane
- Pronađi odgovor poslužitelja koji sadrži dinamičku vrijednost
- Snimite dinamičku vrijednost u parametar
- Zamijenite svaku pojavu dinamičke vrijednosti parametrom
- Potvrdite promjene
Razumijevanje funkcije Web_reg_save_param
VUGen nudi više funkcija ili API-ja za korelaciju kandidata, uključujući:
- web_reg_save_param
- web_reg_save_param_ex
- web_reg_save_param_regexp
- web_reg_save_param_xpath
Dok se ovdje pruža kratak uvod, za detaljno razumijevanje funkcija i njihovih parametara otvorite VUGen, napišite funkciju (ili upotrijebite Kutiju alata za korake), pomaknite kursor na funkciju i kliknite F1 - upoznajte se s pomoći za VUGen i napravite navika. Morat ćete se puno nositi s tim kad radite u industriji.
Evo detalja o funkciji:
web_reg_save_param (Naziv parametra, lijeva granica, desna granica)
Popis atributa
Pretvori: Moguće vrijednosti su:
HTML_TO_URL : pretvorba podataka kodiranih HTML-om u format podataka kodiranih URL-om
HTML_TO_TEXT : pretvaranje HTML kodiranih podataka u format običnog teksta; ovaj atribut nije obavezan.
Zanemari preusmjeravanja : Ako je navedeno "Zanemari preusmjeravanja = Da", a odgovor poslužitelja je informacija o preusmjeravanju (HTTP statusni kod 300-303, 307), odgovor se ne traži. Umjesto toga, nakon primanja odgovora za preusmjeravanje, GET zahtjev šalje se na preusmjereno mjesto i pretraga se izvodi na odgovoru s tog mjesta.
Ovaj atribut nije obavezan. Zadana postavka je "Zanemari preusmjeravanja = Ne".
LB: Lijeva granica parametra ili dinamički podaci. Ako ne navedete vrijednost LB, ona će koristiti sve znakove s početka podataka kao granicu. Granični parametri razlikuju velika i mala slova. Da biste dodatno prilagodili tekst pretraživanja, upotrijebite jednu ili više tekstualnih zastavica. Ovaj je atribut obavezan. Pogledajte odjeljak Granični argumenti.
NOTFOUND : Opcija rukovanja kada granica nije pronađena i generira se prazan niz.
"Nije pronađeno = pogreška", zadana vrijednost, uzrokuje podizanje pogreške kada granica nije pronađena.
"Nije pronađeno = upozorenje" ("Nije pronađeno = prazno" u ranijim verzijama), ne donosi pogrešku. Ako granica nije pronađena, postavlja parametar na 0 i nastavlja izvršavanje skripte. Opcija "upozorenje" idealna je ako želite vidjeti je li niz pronađen, ali ne želite da skripta ne uspije.
Napomena : Ako je za skriptu omogućeno Nastavi na pogrešci, čak i kada je NOTFOUND postavljeno na "pogreška", skripta se nastavlja kada granica nije pronađena, ali poruka o pogrešci se zapisuje u proširenu datoteku dnevnika.
Ovaj je atribut također neobavezan.
RED : Označava redni položaj ili primjer podudaranja. Zadana je instanca 1. Ako navedete "Sve", vrijednosti parametra spremaju se u niz. Ovaj atribut nije obavezan.
Napomena: Korištenje Instance umjesto ORD-a podržano je radi kompatibilnosti s unatrag, ali je zastarjelo.
RB: Desna granica parametra ili dinamički podaci. Ako ne navedete vrijednost RB, on će koristiti sve znakove do kraja podataka kao granicu. Granični parametri razlikuju velika i mala slova. Da biste dodatno prilagodili tekst pretraživanja, upotrijebite jednu ili više tekstualnih zastavica. Ovaj je atribut obavezan. Pogledajte odjeljak Granični argumenti.
RelFrameID : Razina hijerarhije HTML stranice u odnosu na traženi URL. Moguće vrijednosti su SVE ili broj. Kliknite RelFrameID Atribut za detaljan opis. Ovaj atribut nije obavezan.
Napomena: RelFrameID nije podržan u skriptama na razini GUI-a.
SaveLen : Duljina podniza pronađene vrijednosti, od navedenog pomaka, za spremanje u parametar. Ovaj atribut nije obavezan. Zadana vrijednost je -1, što znači da se sprema na kraj niza.
SaveOffset : Pomak podniza pronađene vrijednosti za spremanje u parametar. Vrijednost pomaka mora biti negativna. Zadana vrijednost je 0. Ovaj atribut nije obavezan.
Pretraživanje: opseg pretraživanja - gdje tražiti ograničene podatke. Moguće vrijednosti su Zaglavlja (Pretražite samo zaglavlja), Tijelo (pretražite samo podatke tijela, a ne zaglavlja), Nema resursa (pretražite samo HTML tijelo, isključujući sva zaglavlja i resurse) ili SVE (tijelo pretraživanja, zaglavlja i resursi) . Zadana vrijednost je SVE. Ovaj je atribut neobavezan, ali općenito poželjan.