loadrunner transactions
java pole pridať prvok na koniec
Úvod do základných vylepšení skriptu VuGen:
Skúmali sme Korelácia v LoadRunneri podrobne v našom predchádzajúcom návode v tomto Kompletné výukové kurzy pre LoadRunner .
V posledných dvoch tutoriáloch sme pracovali na narábaní s dátami vo VuGen skripte (Korelácia a parametrizácia).
V tomto tutoriáli LoadRunner uvidíme ďalšie základné vylepšenia (uvedené nižšie), ktoré sú potrebné pre náš skript:
- Transakcie - Merať rýchlosť a čas odozvy na akcie používateľa.
- Kontroly textu a obrázkov - Zaistiť správnosť vrátenej odpovede.
- Pripomienky
- Rendezvous points - Aby Vusers vykonal úlohu súčasne.
=> Kliknutím sem zobrazíte kompletnú sériu tutoriálov LoadRunner
Čo sa dozviete:
- Transakcie vo VuGen Script
- Textové a obrázkové kontroly vo VuGen Script
- Komentáre vo VuGen Script
- Rendezvous Point vo VuGen Script
- Záver
- Odporúčané čítanie
Transakcie vo VuGen Script
Samotné prehranie výkonnostných skriptov iba zaťaží aplikáciu, ale nič nemeria. Konečným cieľom každého výkonnostného skriptu je vložiť záťaž a zmerať rýchlosť a čas odozvy akcií používateľa v aplikácii.
Napríklad ,koľko času trvalo hľadanie produktu, keď je v aplikácii 100 používateľov, koľko prehľadov sa vygeneruje za povedzme 15 minút atď. Na ich meranie musíme vložiť transakcie do skriptu VuGen (po teste vidíme vo výsledkoch rýchlosť a čas odozvy týchto transakcií).
„Transakcia je end-to-end meranie akcie používateľa (alebo skupiny akcií používateľa) v aplikácii“.
Transakcie je možné vložiť dvoma spôsobmi:
- Počas nahrávania
- Po zázname (kde ručne vkladáme transakčné funkcie do skriptu)
Vložme transakciu pre akciu používateľa „Prihlásiť sa“ do našej aplikácie „Webové prehliadky“.
V našom prvom návode sme videli, ako zaznamenávať akcie používateľov. Počas nahrávania po zadaní „používateľského mena“ a „hesla“ na prihlasovacej stránke, tesne pred kliknutím na tlačidlo „Prihlásenie“, kliknite na ikonu „Vložiť začatie transakcie“ na plávajúcom paneli nahrávania.
VuGen vyzve na zadanie názvu transakcie. Zadajte zmysluplné meno. Dali sme tu „Prihlásenie“, ale je dobrým zvykom dodržiavať takéto konvencie (číslo transakcie, názov scenára, akcia používateľa atď.): 01_WebTours_Launch 02_WebTours_Login (atď.).
Teraz kliknite na ikonu Tlačidlo prihlásenia.
Keď sa dostaneme na domovskú stránku (hlavnú stránku), kliknite na ikonu „Vložiť ukončenie transakcie“ na plávajúcom paneli nahrávania.
Vyberte transakciu, ktorú chceme ukončiť (tu kliknite na „Prihlásiť sa“).
Zastavte nahrávanie a pozrite si vygenerovaný skript. Vidíme, že do skriptu sú vložené funkcie začatia a ukončenia transakcie (zvýraznené žltou farbou) a medzi týmito funkciami sú uzavreté všetky žiadosti zodpovedajúce akcii používateľa „Prihlásenie“.
lr_start_transaction('Login'); web_submit_data('login.pl', 'Action= http://127.0.0.1:1080/cgi-bin/login.pl ', 'Method= POST ', 'TargetFrame=', 'RecContentType= text/html ', 'Referer=http://127.0.0.1:1080/cgi-bin/nav.pl?in= home ', 'Snapshot= t3.inf ', 'Mode= HTML ', ITEMDATA , 'Name= userSession ', 'Value= 123530.624949372zDftVAzpfcAiDDDDDiVctpzDQVcf ', ENDITEM , 'Name= username ', 'Value= jojo ', ENDITEM , 'Name= password ', 'Value= bean ', ENDITEM , 'Name= JSFormSubmit ', 'Value= off ', ENDITEM , 'Name= login.x ', 'Value= 69 ', ENDITEM , 'Name= login.y ', 'Value= 8 ', ENDITEM , LAST ); lr_end_transaction('Login', LR_AUTO );
Syntax funkcií „začiatok transakcie“ a „koniec transakcie“ je dosť jednoduchá. Oba majú ako prvý argument názov transakcie. Funkcia „koncová transakcia“ má ešte jeden atribút - „LR_AUTO“, ktorý dáva pokyn spoločnosti VuGen, aby transakciu úspešne odovzdala alebo zlyhala (namiesto toho, aby sme výslovne určili podmienku pre úspešné absolvovanie alebo zlyhanie).
Ak bežec načítania narazí na chyby pri vykonávaní požiadaviek v rámci transakcie, transakciu zlyhá, inak transakciu odovzdá.
Textové a obrázkové kontroly vo VuGen Script
Textové kontroly sa používajú na overenie, či je odpoveď vrátená na požiadavku správna alebo nie. V tutoriále „Korelácia“ sme videli, že VuGen niekedy nemusí vykazovať žiadnu chybu, ale vrátená odpoveď nemusí byť správna. Aby sme sa uistili, že odpoveď je správna, používame textové kontroly.
Napríklad, keď sa prihlásime do aplikácie Web Tours, prejdeme na domovskú stránku. Po prihlásení overíme v skripte, či dostávame správnu odpoveď (domovskú stránku).
Aby sme to dosiahli, musíme v odpovedi (tu domovská stránka) identifikovať nejaký text, ktorý dokáže povedať, či je odpoveď správna alebo nie. Jedným z takýchto textov je aj „Vitajte“.
Na kontrolu textu používame ‘ web_reg_find ‘ funkcie tesne pred požiadavkou.
Syntax tejto funkcie je:
web_reg_find(“Text=”,”SaveCount=”,”Fail=”,LAST);
Tu máme tri atribúty (úplný zoznam atribútov nájdete v pomoci VuGen):
„Text“ - používa sa na určenie toho, aký text hľadať.
„SaveCount“ - Uloží počet výskytov zadaného textu do parametra, ktorý zadáme.
„Fail“ - vezme jednu z dvoch hodnôt „Found“ a „NotFound“ a zodpovedajúcim spôsobom zlyhá v skripte.
Funkcia web_reg_find („Text = Vitajte“, „SaveCount = WelcomeCount“, „Fail = NotFound“, POSLEDNÁ) vyhľadá v odpovedi text „Vitajte“ a uloží počet výskytov do parametra „WelcomeCount“ (a skript zlyhá, ak sa text nenájde).
Skript vyzerá takto:
web_reg_find('Text= Welcome ','SaveCount= WelcomeCount ','Fail= NotFound ', LAST ); web_submit_data('login.pl', 'Action= http://127.0.0.1:1080/cgi-bin/login.pl ', 'Method= POST ', 'TargetFrame= body ', 'RecContentType= text/html ', 'Referer=http://127.0.0.1:1080/cgi-bin/nav.pl?in= home ', 'Snapshot= t2.inf ', 'Mode= HTML ', ITEMDATA , 'Name= userSession ', 'Value= 123531.149939247zDftVDDpfcfDiVctpiAVVf ', ENDITEM , 'Name= username ', 'Value= jojo ', ENDITEM , 'Name= password ', 'Value= bean ', ENDITEM , 'Name= JSFormSubmit ', 'Value= off ', ENDITEM , 'Name= login.x ', 'Value= 66 ', ENDITEM , 'Name= login.y ', 'Value= 12 ', ENDITEM , LAST );
Teraz, keď prehráme skript, dostaneme chybu v žiadosti o prihlásenie (pozri v protokole relé), pretože VuGen v odpovedi nenašiel text, ktorý sme zadali. Je to tak preto, lebo sme nedostali správnu domovskú stránku (ako je zobrazené v „prehliadači za behu“).
Teraz poďme opraviť náš skript (korelovať userSession) a prehrať skript znova.
web_reg_find('Text=Welcome','SaveCount=WelcomeCount','Fail=NotFound', LAST ); web_submit_data('login.pl', 'Action=http://127.0.0.1:1080/cgi-bin/login.pl', 'Method=POST', 'TargetFrame=body', 'RecContentType=text/html', 'Referer=http://127.0.0.1:1080/cgi-bin/nav.pl?in=home', 'Snapshot=t2.inf', 'Mode=HTML', ITEMDATA , 'Name=userSession', 'Value={corUserSession}', ENDITEM , 'Name=username', 'Value=jojo', ENDITEM , 'Name=password', 'Value=bean', ENDITEM , 'Name=JSFormSubmit', 'Value=off', ENDITEM , 'Name=login.x', 'Value=66', ENDITEM , 'Name=login.y', 'Value=12', ENDITEM , LAST );
Tentokrát nevidíme v protokole prehrávania žiadnu chybu, ale vidíme správu, že naša textová kontrola bola úspešná. Tentokrát sme teda dostali správnu odpoveď (pretože ju potvrdzuje ‚runtime viewer‘).
Môžeme kombinovať textové kontroly s transakciami a urobiť VuGen transakciou, ak je textová kontrola úspešná, a zlyhať transakciu, ak textová kontrola zlyhá.
Toto je zobrazené nižšie:
lr_start_transaction('Login'); web_reg_find('Text=Welcome','SaveCount=WelcomeCount',LAST); web_submit_data('login.pl', 'Action=http://127.0.0.1:1080/cgi-bin/login.pl', 'Method=POST', 'TargetFrame=body', 'RecContentType=text/html', 'Referer=http://127.0.0.1:1080/cgi-bin/nav.pl?in=home', 'Snapshot=t2.inf', 'Mode=HTML', ITEMDATA, 'Name=userSession', 'Value={corUserSession}', ENDITEM, 'Name=username', 'Value=jojo', ENDITEM, 'Name=password', 'Value=bean', ENDITEM, 'Name=JSFormSubmit', 'Value=off', ENDITEM, 'Name=login.x', 'Value=66', ENDITEM, 'Name=login.y', 'Value=12', ENDITEM, LAST); if(atoi(lr_eval_string('{WelcomeCount}'))>0) { lr_end_transaction('Login',LR_PASS); } else { lr_end_transaction('Login',LR_FAIL); }
Použili sme tu výraz „if“ s atribútom „SaveCount“. Parameter „WelcomeCount“ (ktorý šetrí počet výskytov textu) sa používa ako podmienka na úspešné absolvovanie alebo zlyhanie transakcie. Atribúty „LR_PASS“ a „LR_FAIL“ transakčných funkcií sa používajú na výslovné odovzdanie a zlyhanie transakcie.
Poznámka: Použili sme tu dve nové funkcie - „Atoi“ a „Lr_eval_string“ . O týchto funkciách si ešte povieme neskôr.
Niekoľko ďalších informácií o kombinácii atribútov funkcií „web_reg_find“:
# 1) Ak sa použije iba atribút ‘Text’ -
Príklad: web_reg_find („Text = Vitajte“, POSLEDNÉ) -
VuGen vyhľadá text a v prípade neúspechu skript zlyhá.
# 2) Ak sa používajú iba atribúty „Text“ a „SaveCount“ -
Príklad: web_reg_find (“Text = Vitajte”, “SaveCount = WelcomeCount”, POSLEDNÉ) - VuGen vyhľadá text a uloží počet výskytov (aj keď je nulový) do zadaného parametra (nespustí skript, ak je hľadanie neúspešné) ).
# 3) Ak sa používajú iba atribúty Text a Fail -
Príklad: web_reg_find (“Text = Vitajte”, “Fail = NotFound”, POSLEDNÉ) - VuGen vyhľadá text a zlyhá v skripte, ak je text nájdený / nenájdený.
Kontroly textu je možné vložiť aj počas nahrávania pomocou ikony „Vložiť kontrolu textu“ na plávajúcom paneli nahrávania. Týmto sa vloží to isté „Web_reg_find“ funkciu do skriptu.
Ale je lepšie, keď túto funkciu vložíme manuálne, pretože budeme mať lepšiu kontrolu hlavne nad atribútmi.
Kontrole textu sme porozumeli jasne, poďme teda na kontrolu obrázkov.
Kontrola obrázka sa používa na overenie prítomnosti určitého obrázka v odpovedi. „ web_image_check ‘ funkcia sa používa na kontrolu obrazu. Túto funkciu je potrebné vložiť za požiadavku (v reakcii na ktorú očakávame obraz).
Príklad tejto funkcie:
web_image_check(“Image”,”Src=/WebTours/images/flights.gif”,LAST)
Keď je prvým atribútom akýkoľvek zmysluplný názov a druhým atribútom („Src“) je názov / odkaz na obrázok (úplný zoznam atribútov nájdete v pomoci VuGen).
Komentáre vo VuGen Script
Komentáre do skriptu VuGen je možné zadávať počas nahrávania a tiež manuálne po zaznamenaní skriptu.
Počas nahrávania kliknite na ikonu „Vložiť komentár“ ikona na plávajúcom paneli nahrávania.
Zadajte komentár (tu povedzte „Prihlásiť sa“).
Po zaznamenaní vidíme komentáre v skripte, ako je uvedené nižšie.
/* Login */ web_submit_data('login.pl', 'Action=http://127.0.0.1:1080/cgi-bin/login.pl', 'Method=POST', 'TargetFrame=body', 'RecContentType=text/html', 'Referer=http://127.0.0.1:1080/cgi-bin/nav.pl?in=home', 'Snapshot=t6.inf', 'Mode=HTML',
Vo VuGen je možné komentovať jeden riadok jednoduchým uvedením znaku „//“ pred riadok, ako je uvedené nižšie:
// web_add_cookie('SRCHD=AF=IESS3N; DOMAIN=www.bing.com'); web_add_cookie('SRCHUID=V=2&GUID=89730C3AA700412BAB917005DE9F5F47&dmnchg=1; DOMAIN=www.bing.com'); web_add_cookie('SRCHUSR=DOB=20180312; DOMAIN=www.bing.com');
Viaceré riadky je možné prepojiť tak, že na začiatok umiestnite „/ *“ a na koniec „* /“ (ako je znázornené nižšie)
/* web_add_cookie('SRCHD=AF=IESS3N; DOMAIN=www.bing.com'); web_add_cookie('SRCHUID=V=2&GUID=89730C3AA700412BAB917005DE9F5F47&dmnchg=1; DOMAIN=www.bing.com'); web_add_cookie('SRCHUSR=DOB=20180312; DOMAIN=www.bing.com'); */
Poznámka: V príkladoch uvedených vyššie sme komentovali funkcie súborov cookie ( web_add_cookie ). O funkciách súborov cookie si povieme neskôr v tejto sérii tutoriálov.
Je dobrým zvykom vkladať komentáre do každého kroku počas nahrávania, pretože nám to pomôže prepojiť požiadavky v skripte s akciami používateľa v aplikácii.
Rendezvous Point vo VuGen Script
Ak máme scenár, v ktorom väčší počet používateľov vykonáva akciu súčasne s aplikáciou (napríklad kontrola výsledkov), a ak to isté musíme simulovať v našom teste výkonnosti, môžeme použiť bod „Rendezvous“.
„Bod Rendezvous“ je jednoduchá a jednoduchá funkcia v skripte VuGen, ktorá dáva príkazu load runner (počas testu s viacerými používateľmi) čakať v určenom kroku skriptu, kým všetci Vusers (vykonávajúci skript) prídu k tomuto kroku, takže že následná žiadosť môže byť vykonaná súčasne.
Syntax funkcie Rendezvous je:
lr_rendezvous(“MeaningfulName”);
Túto funkciu je možné vložiť počas nahrávania a tiež manuálne po zaznamenaní skriptu.
Predpokladajme, že chceme v našej aplikácii „Webové prehliadky“ súčasne zaťažiť krok platby. Počas nahrávania v danom kroku (pred odoslaním platobných údajov) kliknite na ikonu „Vložiť Rendezvous“ na plávajúcom paneli nahrávania.
A zadajte názov bodu stretnutia (akýkoľvek zmysluplný názov).
Po nahraní môžeme v skripte vidieť funkciu rendezvous takto.
lr_rendezvous('Payment'); web_submit_data('reservations.pl_3', 'Action= http://127.0.0.1:1080/cgi-bin/reservations.pl ', 'Method= POST ', 'TargetFrame=', 'RecContentType= text/html ', 'Referer= http://127.0.0.1:1080/cgi-bin/reservations.pl ', 'Snapshot= t13.inf ', 'Mode= HTML ', ITEMDATA , 'Name= firstName ', 'Value= Jojo ', ENDITEM , 'Name= lastName ', 'Value= Bean ', ENDITEM , 'Name= address1 ', 'Value= 1st Lane , Down Street', ENDITEM , 'Name= address2 ', 'Value= 567123 ', ENDITEM , 'Name= pass1 ', 'Value= Jojo Bean ', ENDITEM , 'Name= creditCard ', 'Value= 123456789101 ', ENDITEM , 'Name= expDate ', 'Value= 0520 ', ENDITEM , 'Name= oldCCOption ', 'Value=', ENDITEM , 'Name= numPassengers ', 'Value= 1 ', ENDITEM , 'Name= seatType ', 'Value= Coach ', ENDITEM , 'Name= seatPref ', 'Value= None ', ENDITEM , 'Name= outboundFlight ', 'Value= 020 ;338;05/03/2018', ENDITEM , 'Name= advanceDiscount ', 'Value= 0 ', ENDITEM , 'Name= returnFlight ', 'Value=', ENDITEM , 'Name= JSFormSubmit ', 'Value= off ', ENDITEM , 'Name= .cgifields ', 'Value= saveCC ', ENDITEM , 'Name= buyFlights.x ', 'Value= 63 ', ENDITEM , 'Name= buyFlights.y ', 'Value= 12 ', ENDITEM , LAST );
Teraz, keď spustíme tento skript s viacerými používateľmi v radiči, bude skript spustený Vusersom nezávisle, ale Vusers počká v tomto kroku „Platba“, kým všetci (alebo určité percento Vusers definovaných v pravidlách Rendezvous) dosiahnu tento krok, po ktorom vykonajú tento krok súčasne.
Viac sa dozvieme o politike (možnostiach) stretávania sa v príručke Ovládač.
Záver
Doteraz sme v minulých tutoriáloch diskutovali Koreláciu a parametrizáciu a v tomto tutoriále sme venovali pozornosť témam Transakcie, Kontroly textu / obrázkov, Komentáre a Rendezvous, venovali sme sa tiež najdôležitejším metódam vylepšenia skriptov.
V našom ďalšom návode uvidíme ďalšie skriptovacie úlohy spolu so spôsobmi, ako ich zvládnuť.
=> Navštívte tu kompletnú sériu tutoriálov LoadRunner
Výukový program PREV | NEXT Tutorial
Odporúčané čítanie
- Testovanie záťaže s výukovými programami HP LoadRunner
- Úvod do aplikácie Micro Focus LoadRunner - Testovanie zaťaženia s príručkou LoadRunner č. 1
- Korelácia - testovanie zaťaženia pomocou nástroja LoadRunner
- Výukový program LoadRunner pre začiatočníkov (8-denný hĺbkový kurz zadarmo)
- Analýza výsledkov a správy o výsledkoch testu - testovanie záťaže pomocou nástroja LoadRunner
- Testovanie výkonu webových služieb pomocou skriptovania LoadRunner VuGen
- Rozdiel medzi LoadRunnerom a Performance Center
- Ako nastaviť súbory skriptu LoadRunner VuGen a nastavenia runtime