„LoadRunner“ koreliacija su „Web_Reg_Save_Param“ pavyzdžiu

Kas yra koreliacija?

Koreliacija, kaip rodo pavadinimas, yra santykio tarp dviejų kintamųjų ar subjektų apibrėžimo mechanizmas. Žodynas jį apibrėžia kaip „statistinį ryšį tarp dviejų ar daugiau kintamųjų, kad sisteminiai kito pokyčiai lydėtų sisteminius vieno kintamojo vertės pokyčius“.

Šioje pamokoje sužinosime apie

  • Kodėl mums reikalinga koreliacija?
  • Automatinė koreliacija
  • Rankinė koreliacija
  • Supratimas apie funkciją „Web_reg_save_param“

Kodėl mums reikalinga koreliacija?

Supraskime ryšį su tokiu scenarijumi.

Apsvarstykite, ar įrašote scenarijų naudodami „LoadRunner“.

Kliento ir serverio ryšys

  1. Įrašymo metu klientas siunčia serveriui užklausą pradėti sesiją
  2. Serveris gauna užklausą ir priskiria naują seanso ID ABC
  3. Klientas išsaugo seanso ID ABC scenarijuje.
  4. Klientas pradeda sesiją naudodamas ID ABC ir išsiunčia serveriui užklausą leisti jam įrašyti
  5. Serveris atpažįsta ID ABC ir leidžia klientui įrašyti scenarijų

  1. Panagrinėkime kliento ir serverio ryšį pakartojimo metu
  2. Per pakartojimą klientas siunčia serveriui užklausą pradėti sesiją
  3. Serveris gauna užklausą ir priskiria naują seanso ID XYZ
  4. Klientas pradeda sesiją naudodamasis anksčiau įrašytu seanso ID ABC ir siunčia užklausą serveriui, kad jis galėtų ją įrašyti
  5. Serveriui nepavyko identifikuoti ID ABC, nes jis tikėjosi, kad paskyrė ID XYZ, ir sesija nepavyksta.

Mums reikia sprendimo, kuris užfiksuotų vykdymo metu atsiųstos dinaminės vertės analizę ir grąžintų šią vertę atgal į serverį. Štai kaip kliento ir serverio ryšys atrodys naudojant šį sprendimą

  1. Per pakartojimą klientas siunčia serveriui užklausą pradėti sesiją
  2. Serveris gauna užklausą ir priskiria naują seanso ID ZZZ
  3. Klientas analizuoja šį naują seanso ID ZZZ pagal užklausą.
  4. Klientas siunčia užklausą pradėti sesiją su ID ZZZ
  5. Serveris atpažįsta ID ZZZ ir leidžia klientui pakartoti scenarijų

Tai ne kas kita, kaip koreliacija .

Spustelėkite čia, jei vaizdo įrašas nepasiekiamas

VUGen atveju koreliacija yra privalomas ryšys tarp atsakymo ir bet kurio ankstesnio prašymo.

Yra įvairių situacijų, kai užklausa grindžiama anksčiau gautu atsakymu iš serverio, pavyzdžiui, sesijos ID, serverio data / laikas, kuris gaunamas iš serverio. Šios vertės skiriasi kiekvieną kartą, kai paleidžiate programą arba įrašote scenarijų. Akivaizdu, kad jei scenarijaus vykdymas priklauso nuo serverio grąžintos vertės, tai reiškia, kad turite rasti mechanizmą, kur galėtumėte „sugauti“ serverio atsakymą ir pridėti prie tų užklausų, kurių tikisi serveris. Tai paprastai vadinama koreliacija „LoadRunner“.

Paprastais žodžiais tariant, koreliacijos sprendimas yra toks:

  1. Fiksuokite išvesties vertę iš žingsnio
  2. Naudokite aukščiau užfiksuotą vertę, kad galėtumėte naudoti visus tolesnius veiksmus

Koreliacija klasifikuojama į 2 kategorijas „VUGen / LoadRunner“:

  • Automatinė koreliacija
  • Rankinė koreliacija

Automatinė koreliacija

„LoadRunner“ suteikia mechanizmą, leidžiantį lengvai atlikti koreliaciją automatiniu būdu.

VUGen jums reikės paleisti įrašytą scenarijų bent du kartus, kad jis galėtų viduje palyginti skirtingas serverio atsakymo reikšmes.

Automatinę koreliaciją galima suskirstyti į 3 kategorijas:

  • Automatiškai aptikti koreliaciją
  • Taisyklėmis pagrįsta koreliacija
  • Visų teiginių koreliacija
Taisyklės pavadinimas Kada naudoti
Automatiškai aptikti koreliaciją Aptikti ir susieti dinaminius duomenis apie „HP LoadRunner“ palaikomus programų serverius
Taisyklėmis pagrįstas Naudojamas dirbant su nepalaikomu programų serveriu, kurio kontekstas yra žinomas.
Koreliuokite visus Padeda aklai koreliuoti visus dinaminius duomenis.

Nors automatinė koreliacija atrodo paprastesnė, ji gali būti linkusi į klaidas ir veikia ne daugiau kaip 5% atvejų. Visada patartina naudoti rankinę koreliaciją.

Norėdami įrašymo metu sukonfigūruoti automatinę koreliaciją, atlikite žemiau esančią konfigūraciją skiltyje Įrašymo laiko nustatymas po scenarijaus įrašymo.

Spustelėkite Įrašyti => Įrašymo parinktys (arba spustelėkite Ctrl + F7),

>

Bus atidarytas žemiau esantis langas:

Spustelėkite koreliacija => konfigūracija - atsidarys žemiau esantis langas.

Čia turite pažymėti kaip patikrintą pagal visas programas (ASPNET) ir pan., Kurios naudojamos jūsų dalyko programoje. Dešinėje pusėje galite pamatyti taisykles, kurios aptiks galimus kandidatus į koreliaciją, pvz., _VIEWSTATE. Taip pat galite pridėti daugiau programų ar pasirinktinių taisyklių spustelėdami mygtuką „Nauja taisyklė“.

Taip pat galite spustelėti TAISYKLES, pamatysite taip:

Kad automatinė koreliacija veiktų, turite įsitikinti, kad taisyklių nuskaitymas pažymėtas kaip pažymėtas. Jei spustelėsite automatiškai surastas vertes, VUGen neragins jūsų pasirinkti, kai bus rastas koreliacijos kandidatas, o tiesiog jas koreliuos.

Vėliau suprasime koreliacijai naudojamą API. Tačiau patariama vietoj teksto palyginimo naudoti HTML palyginimą.

Pasirinkę bet kokias taisykles, spustelėkite mygtuką Gerai, kad uždarytumėte langus.

Spustelėkite meniu ir VUGen atkurs scenarijų (nereikalaujant įrašyti) su naujomis konfigūracijomis. „VUGen“ automatiškai pridės reikiamą kodo dalį, kad būtų galima tvarkyti koreliaciją. Mes išsamiau pažvelgsime į pavyzdį rankiniame koreliacijoje.

Atkreipkite dėmesį, jei koreliaciją atliksite rankiniu būdu arba naudosite automatinę koreliaciją, kodo fragmente bus tiksliai tokia pati sintaksė ir funkcija.

Automatinio scenarijaus koreliacijos veiksmai:

  1. Įrašykite scenarijų
  2. Pakartoti scenarijų
  3. Nurodykite koreliuojamas vertes
  4. Pasirinkite reikšmes ir spustelėkite automatinio koreliavimo mygtuką
  5. Patikrinkite scenarijų paleisdami dar kartą. Sėkmingas bėgimas reiškia sėkmingą koreliaciją.

Patarimas:

  • Koreliacija padeda paleisti scenarijų su skirtingomis vertėmis
  • Koreliacija taip pat sumažina scenarijaus dydį

Rankinis koreliacija

Neautomatinė koreliacija - tai kodo įrašymas tiesiai į scenarijų, siekiant atsižvelgti į nuolat besikeičiančias vertes. Mes galime jį suskirstyti į toliau nurodytus veiksmus:

  1. Nustatykite fiksuojamą vertę
  2. Raskite dešinę ir kairę užfiksuojamos vertės (WEB) teksto ribas
  3. Raskite, kuris teksto ribų atvejis turėtų būti naudojamas
  4. Prie scenarijaus pridėkite funkciją „web_reg_save_param“, esančią virš kodo, kuriame reikalaujama, kad puslapis su verte užfiksuotų
  5. Prie funkcijos pridėkite parametro pavadinimą, kairę, dešinę ir įvykį
  6. Parametruokite dinaminę reikšmę scenarijuje kiekvieną kartą, kai ji atsiranda
  7. Patikrinkite teisingą vykdymą
web_reg_save_param ("OracleAppJSESSIONID3","LB / IC = JSESSIONID =","RB / IC =;","Ord = l","Paieška = antraštės","RelFrameId = l",PASKUTINĖ);web_reg_save_param ("Siebel_Analytic_ViewState2","LB / IC = ViewState \" value = \ "","RB / IC = \" ","Ord = 1","Paieška = kūnas","RelFrameId = l",PASKUTINĖ);

Rankinę koreliaciją gali atlikti „VUser“ palyginimas. „VUser“ palyginimo koreliacijos metodo veiksmus galima suskirstyti taip:

  1. Nustatykite dinamines vertes, kurias reikia koreluoti
  2. Raskite serverių atsakymą, kuriame yra dinaminė vertė
  3. Užfiksuokite parametro dinaminę vertę
  4. Kiekvieną dinaminės reikšmės atvejį pakeiskite parametru
  5. Patikrinkite pakeitimus

Supratimas apie funkciją „Web_reg_save_param“

„VUGen“ teikia kelias funkcijas arba API, kad galėtų susieti kandidatus, įskaitant:

  • web_reg_save_param
  • web_reg_save_param_ex
  • web_reg_save_param_regexp
  • web_reg_save_param_xpath

Kol čia pateikiamas trumpas įvadas, norint išsamiai suprasti funkcijas ir jų parametrus, atidarykite VUGen, rašymo funkciją (arba naudokite „Steps Toolbox“), perkelkite žymeklį ant funkcijos ir spustelėkite F1 - susipažinkite su „VUGen“ pagalba ir sukurkite įpročio. Dirbdami pramonėje turėsite su tuo daug susidurti.

Čia mes pateikiame išsamią funkcijos informaciją:

web_reg_save_param (parametro pavadinimas, kairė riba, dešinė riba)

Atributų sąrašas

Konvertuoti: galimos vertės yra:

HTML_TO_URL : konvertuokite HTML koduotus duomenis į URL koduojamus duomenų formatus

HTML_TO_TEXT : konvertuoti HTML užkoduotus duomenis į paprasto teksto formatą; šis atributas yra neprivalomas.

Ignoruoti peradresavimus : Jei nurodoma „Ignoruoti peradresavimus = Taip“ ir serverio atsakymas yra peradresavimo informacija (HTTP būsenos kodas 300–303, 307), atsakymas neieškomas. Vietoj to, gavęs peradresavimo atsakymą, GET užklausa siunčiama į peradresuotą vietą ir ieškoma atsakymo iš tos vietos.

Šis atributas yra neprivalomas. Numatytasis nustatymas yra „Ignoruoti peradresavimus = Ne“.

LB: kairė parametro arba dinaminių duomenų riba. Jei nenurodote LB vertės, ji naudoja visus simbolius nuo duomenų pradžios kaip ribą. Ribiniai parametrai priklauso nuo didžiųjų ir mažųjų raidžių. Norėdami toliau tinkinti paieškos tekstą, naudokite vieną ar daugiau teksto žymių. Šis atributas yra būtinas. Žr. Skyrių „Ribiniai argumentai“.

NERASTA : tvarkymo parinktis, kai nerandama riba ir sugeneruojama tuščia eilutė.

Numatyta reikšmė „Not found = error“ sukelia klaidą, kai nerandama riba.

„Not found = warning“ (ankstesnėse versijose „Not found = empty“), klaidos neišduoda. Jei riba nerandama, ji nustato parametrų skaičių į 0 ir tęsia scenarijaus vykdymą. Parinktis „įspėjimas“ yra ideali, jei norite sužinoti, ar eilutė rasta, bet nenorite, kad scenarijus sugestų.

Pastaba : Jei scenarijui įgalinta „Continue on Error“, net jei NOTFOUND nustatyta kaip „error“, scenarijus tęsiamas, kai riba nerandama, tačiau į išplėstinį žurnalo failą rašomas klaidos pranešimas.

Šis atributas taip pat neprivalomas.

ORD : nurodo rungtynių eilę arba egzempliorių. Numatytasis egzempliorius yra 1. Jei nurodysite „Visi“, jis išsaugos parametro reikšmes masyve. Šis atributas yra neprivalomas.

Pastaba: egzempliorių naudojimas vietoj ORD palaikomas atgaliniam suderinamumui, tačiau nebenaudojamas.

RB: dešinioji parametro ar dinaminių duomenų riba. Jei nenurodote RB reikšmės, ji naudoja visus simbolius iki duomenų pabaigos kaip ribą. Ribiniai parametrai priklauso nuo didžiųjų ir mažųjų raidžių. Norėdami toliau tinkinti paieškos tekstą, naudokite vieną ar daugiau teksto žymių. Šis atributas yra būtinas. Žr. Skyrių „Ribiniai argumentai“.

„RelFrameID“ : HTML puslapio hierarchijos lygis, palyginti su prašomu URL. Galimos vertės yra VISI arba skaičius. Norėdami gauti išsamų aprašymą, spustelėkite RelFrameID atributas. Šis atributas yra neprivalomas.

Pastaba: „ RelFrameID“ nepalaikomas GUI lygio scenarijuose.

„SaveLen“ : rastos vertės pogrupio ilgis nuo nurodyto poslinkio, kurį reikia išsaugoti parametre. Šis atributas yra neprivalomas. Numatytasis nustatymas yra -1, nurodant išsaugoti eilutės pabaigoje.

„SaveOffset“ : rastos vertės pogrupio poslinkis, skirtas išsaugoti parametre. Poslinkio vertė neturi būti neigiama. Numatytasis yra 0. Šis atributas yra neprivalomas.

Paieška: paieškos, kur ieškoti atribotų duomenų, apimtis. Galimos reikšmės yra Antraštės (ieškoti tik antraštėse), Turinys (ieškoma tik kūno duomenų, o ne antraštių), Nėra išteklių (ieškoma tik HTML turinio, išskyrus visas antraštes ir išteklius) arba VISOS (ieškoma turinio, antraštių ir išteklių) . Numatytoji vertė yra VISI. Šis atributas yra neprivalomas, tačiau dažniausiai teikiamas pirmenybė.

Įdomios straipsniai...