important loadrunner functions used vugen scripts with examples
Važne funkcije LoadRunner koje se uglavnom koriste u VuGen skriptama sa sintaksom i primjerima:
Izazovi skripti za VuGen su detaljno objašnjeni u našem ranijem vodiču u Online besplatna serija treninga LoadRunner .
U našem putovanju s LoadRunner VuGenom do sada smo naišli na mnoge unaprijed definirane funkcije (i naravno, vidjeli smo i kako pisati vlastite funkcije).
U ovom ćemo tutorijalu navesti i kratko razgovarati o važnim ‘unaprijed definiranim’ LoadRunneru, specifičnim za protokol i funkcijama na C jeziku koje uglavnom koristimo u VuGen skriptama / scenarijima.
=> Kliknite ovdje za kompletnu seriju vodiča za LoadRunner
Razvrstajmo ove funkcije u tri kategorije:
- LoadRunner (LR) funkcije
- Funkcije specifične za protokol (Web - HTTP / HTML)
- C jezične funkcije
Istražujmo jedno po jedno!
Što ćete naučiti:
- Funkcije LoadRunner (LR)
- Funkcije specifične za protokol
- C Jezične funkcije
- Zaključak
- Preporučena literatura
Funkcije LoadRunner (LR)
Ove su funkcije opće funkcije LoadRunner koje su zajedničke za sve protokole:
1) lr_eval_string (): Kao što je već viđeno, ova funkcija vraća ulazni niz nakon procjene bilo kakvih ugrađenih parametara.
2) lr_eval_string_ext (): Ova funkcija stvara međuspremnik i dodjeljuje ga ulaznom nizu nakon procjene ugrađenih parametara.
3) lr_save_string (): Kao što je već viđeno, ova funkcija dodjeljuje vrijednost parametru / varijabli LR.
4) lr_save_int (): Ova funkcija dodjeljuje LR parametru cijeli broj kao što je prikazano dolje:
Primjer:
int number; number=8; lr_save_int(number,”numparam”);
Parametar 'numparam' sada se može koristiti kao bilo koji drugi LR parametar.
5) lr_paramarr_random (): Kao što je već viđeno, ova funkcija nasumično odabire jednu od vrijednosti iz niza parametara.
6) lr_paramarr_len (): Ova funkcija vraća broj elemenata u polju parametara.
arhiva best of the web danas
Pretpostavimo da je „cFlight“ niz parametara s vrijednostima leta, primjer u nastavku pokazuje kako se broj elemenata ovog polja može kopirati u varijablu.
Primjer:
int arrLen; arrLen = lr_paramarr_len('cFlight');
7) lr_paramarr_idx (): Ova funkcija daje vrijednost parametra na određenom mjestu u polju parametara. Primjer prikazan u nastavku sprema treću vrijednost niza parametara u varijablu.
Primjer:
char * flightVal; flightVal = lr_paramarr_idx('cFlight', 3);
8) lr_db_connect () : Ovo je funkcija baze podataka koja se koristi za povezivanje s bazom podataka.
9) lr_db_disconnect () : Ovo je funkcija baze podataka koja se koristi za prekid veze s bazom podataka.
10) lr_start_transaction () i lr_end_transaction (): Kao što smo već vidjeli, ove se funkcije koriste za započinjanje i završavanje (odnosno) transakcije.
jedanaest) lr_message () : Ovo je funkcija poruke koja se koristi za slanje poruka u zapisnik i izlazni prozor.
12) lr_output_message (): Ovo je funkcija poruke koja se koristi za slanje poruka s detaljima poput odjeljka skripte i broja retka za izlaz prozora, datoteka dnevnika i ostalih sažetaka izvještaja o ispitivanju.
13) lr_log_message () : Ovo je funkcija poruke koja se koristi za slanje poruka u datoteku dnevnika Vuser ili agenta, a ne u izlazni prozor.
14) lr_error_message (): Ovo je funkcija poruke koja se koristi za slanje poruka u izlazne prozore, datoteke dnevnika i ostale sažetke izvještaja o ispitivanju.
petnaest) lr_save_datetime (): Ova funkcija sprema trenutni datum i vrijeme (ili datum i vrijeme s navedenim pomakom) u parametar koji se može koristiti u našoj skripti po potrebi.
Primjer:
lr_save_datetime('Today’s date is %B %d %Y', DATE_NOW , 'today'); lr_output_message(lr_eval_string('{today}'));
Action.c (4): Današnji datum je 09. lipnja 2018
Dolje je dat još jedan primjer gdje se koristi pomak od jednog dana:
lr_save_datetime('Tomorrow's date is %B %d %Y', DATE_NOW + ONE_DAY , 'tomorrow'); lr_output_message(lr_eval_string('{tomorrow}'));
Action.c (4): Sutrašnji datum je 10. lipnja 2018
16) lr_set_debug_message (): Ova funkcija mijenja razinu evidentiranja poruka (za dio skripte) od one koja je postavljena u postavkama vremena izvođenja. Kao što je prikazano u nastavku, cjelovito praćenje omogućeno je samo za zahtjev ‘index.htm’ (čak i ako je razina dnevnika postavljena na ‘Standard log’ u postavkama Run-Time).
Primjer:
lr_set_debug_message( LR_MSG_CLASS_EXTENDED_LOG | LR_MSG_CLASS_FULL_TRACE , LR_SWITCH_ON ); web_url('index.htm', 'URL= http://127.0.0.1:1080/WebTours/index.htm ', 'TargetFrame=', 'Resource= 0 ', 'RecContentType= text/html ', 'Referer=', 'Snapshot= t8.inf ', 'Mode= HTML ', LAST ); lr_set_debug_message( LR_MSG_CLASS_EXTENDED_LOG | LR_MSG_CLASS_FULL_TRACE , LR_SWITCH_OFF );
17) lr_abort (): Ova funkcija prekida izvršavanje skripte nakon izvršavanja odjeljka 'vuser_end'. Ova je funkcija korisna kada moramo ručno prekinuti skriptu zbog određenog stanja pogreške.
18) lr_exit (): Ova funkcija upućuje Vusera da izađe iz skripte koja se izvodi tijekom izvođenja i nastavi prema navedenim 'Opcijama nastavka skripte'.
U slijedećem primjeru, ova funkcija upućuje Vusera da zaustavi trenutnu iteraciju pokretanja globalne skripte i započne sljedeću iteraciju.
lr_exit(LR_EXIT_MAIN_ITERATION_AND_CONTINUE, LR_AUTO);
Evo popisa ostalih mogućnosti nastavka skripte:
- LR_EXIT_VUSER - Izađite bez ikakvih uvjeta i idite izravno na vuser_end action.
- LR_EXIT_ACTION_AND_CONTINUE - Zaustavite trenutnu akciju i prijeđite na sljedeću akciju.
- LR_EXIT_ITERATION_AND_CONTINUE - Zaustavite trenutnu iteraciju i prijeđite na sljedeću iteraciju.
- LR_EXIT_VUSER_AFTER_ITERATION - Izlaz nakon završetka trenutnog ponavljanja.
- LR_EXIT_VUSER_AFTER_ACTION - Izlaz nakon završetka trenutne radnje.
19) lr_think_time (): Ova funkcija omogućuje Vuseru da pauzira određeno vrijeme između koraka / radnji na VuGen skripti. Ovo je simuliranje stvarnog ponašanja korisnika tijekom određenog vremena između radnji / koraka na aplikaciji.
Na primjer, sljedeće navodi da Vuser čeka 10 sekundi ...
lr_think_time(10);
dvadeset) lr_rendezvous (): Kao što je već viđeno, ova funkcija upućuje LoadRunner da pričeka na određeni korak u skripti dok svi Vuseri ne dođu na taj korak kako bi se sljedeći zahtjev mogao izvršiti istovremeno.
dvadeset i jedan) lr_load_dll (): Ova se funkcija koristi za učitavanje vanjskog DLL-a omogućavajući Vuseru da pozove vanjsku funkciju prilikom ponovne reprodukcije skripte.
22) lr_save_searched_string (): Ova funkcija traži pojavu niza u međuspremniku i sprema dio međuspremnika nakon tog niza u parametar.
U slijedećem primjeru , treća pojava (broj definiran u trećem atributu plus 1) niza 'all' pretražuje se u međuspremniku, a sljedećih 14 znakova (šesti atribut) spremaju se u parametar (peti atribut '1' preskače razmak nakon pretraživanja ).
char cBuffer() = 'all the King's horses and all the King's elephants and all the King's men'; lr_save_searched_string(cBuffer, strlen (cBuffer),2,'all',1,14,'parameter'); lr_output_message('The searched sub-string is %s',lr_eval_string('{parameter}'));
Action.c (7): Pretraženi podniz su Kraljevi ljudi.
2. 3) lr_vuser_status_message (): Ova funkcija šalje poruku u područje statusa Vuser kontrolera i u Vuser dnevnik.
24) lr_next_row (): Ova funkcija radi na navedenoj datoteci podataka parametara i koristi se za prelazak aktivnog retka u sljedeći redak.
25) lr_advance_param (): Ova funkcija omogućuje skripti da koristi sljedeću dostupnu vrijednost parametra radeći na imenima stupaca.
26) lr_start_timer () i lr_end_timer (): Te se funkcije koriste za pokretanje i zaustavljanje odbrojavanja u VuGen skripti koja izračunava protok vremena u sekundama.
graf podataka struktura c ++
27) lr_whoami (): Ova funkcija vraća informacije o Vuseru (poput Vuser id, Vuser grupa).
28) lr_get_vuser_ip (): Ova funkcija vraća IPv4 adresu Vusera.
29) lr_get_host_name (): Ova funkcija vraća naziv stroja koji izvršava skriptu.
30) lr_get_master_host_name (): Ova funkcija vraća ime stroja na kojem je pokrenut kontroler.
31) lr_decrypt (): Ova funkcija dešifrira kodirani niz. Obično se koristi za dešifriranje lozinki.
32) lr_continue_on_error (): Ova funkcija specificira kako postupati s pogreškama da bi se i dalje izvodilo u slučaju pogreške ili kako bi se prekinulo izvršavanje skripte.
***********************************
U ovom smo odjeljku detaljno razgovarali o ‘unaprijed definiranim’ funkcijama i funkcijama ‘LoadRunner’.
U našem sljedećem odjeljku govorit ćemo o funkcijama LoadRunner 'Specific Protocol' i 'C-Language'.
Funkcije specifične za protokol
Te su funkcije specifične za protokol, a u našoj ćemo se raspravi ograničiti na raspravu o protokolu 'Web-HTTP / HTML' ili jednostavno o funkcijama specifičnim za 'web'.
1) web_url (): Ova funkcija učitava web stranicu navedenu argumentom URL.
2) web_submit_form (): Ova funkcija predaje obrazac. A ova se funkcija snima samo u HTML načinu i predaje kontekstualni zahtjev (već smo razgovarali o kontekstualnim i beskontekstnim zahtjevima).
Pogledajte primjer u nastavku:
web_submit_form('login.pl', 'Snapshot= t2.inf ', ITEMDATA , 'Name= username ', 'Value= jojo ', ENDITEM , 'Name= password ', 'Value= bean ', ENDITEM , 'Name= login.x ', 'Value= 51 ', ENDITEM , 'Name= login.y ', 'Value= 13 ', ENDITEM , LAST );
3) web_submit_data (): Ova funkcija predaje oblik bez konteksta. Ova se funkcija snima samo u načinu snimanja na temelju URL-a ili u načinu snimanja na temelju HTML-a s potvrđenom opcijom 'Skripta koja sadrži samo eksplicitne URL-ove'.
Pogledajte primjer u nastavku:
web_submit_data('login.pl', 'Action= http://127.0.0.1:1080/cgi-bin/login.pl ', 'Method= POST ', 'RecContentType= text/html ', 'Referer=http://127.0.0.1:1080/cgi-bin/nav.pl?in= home ', 'Snapshot= t12.inf ', 'Mode= HTTP ', ITEMDATA , 'Name= userSession ', 'Value= 123342.854353989zDttttipAHAiDDDDDiAzzpziitcf ', ENDITEM , 'Name= username ', 'Value= jojo ', ENDITEM , 'Name= password ', 'Value= bean ', ENDITEM , 'Name= JSFormSubmit ', 'Value= off ', ENDITEM , 'Name= login.x ', 'Value= 51 ', ENDITEM , 'Name= login.y ', 'Value= 13 ', ENDITEM)
4) web_custom_request (): Ova se funkcija koristi za stvaranje prilagođenog HTTP zahtjeva bilo kojom metodom ili tijelom.
5) web_concurrent_start () i web_concurrent_end (): Te se funkcije koriste za označavanje početka i kraja (odnosno) istodobne skupine. Sve funkcije unutar grupe (zatvorene između tih funkcija) izvršavaju se istodobno.
6) web_reg_save_param (): Kao što je već viđeno, ovo je korelacijska funkcija zasnovana na granicama.
7) web_reg_save_param_ex (): Ovo je također funkcija korelacije koja se temelji na granicama, a koja je poboljšana verzija funkcije web_reg_save_param.
8) web_reg_find (): Kao što je već viđeno, ova se funkcija koristi za provjeru teksta.
9) web_image_check (): Kao što je već viđeno, ova se funkcija koristi za provjeru slike.
10) web_convert_param (): Ova se funkcija koristi za pretvaranje HTML teksta u običan tekst ili URL ili obični tekst u URL. U donjem primjeru ove funkcije pretvaraju sadržaj parametra 'ParamName' iz HTML formata u URL format.
Primjer:
web_convert_param („ParamName“, „SourceEncoding = HTML“, „TargetEncoding = URL“, POSLJEDNJE);
jedanaest) web_get_int_property (): Ova funkcija vraća specifične informacije (poput statusnog koda, veličine preuzimanja itd.) O prethodnom HTTP zahtjevu. U dolje prikazanom primjeru ova se funkcija koristi za vraćanje HTTP statusnog koda i veličinu preuzimanja.
Primjer:
int statusCode, downloadSize; web_url('index.htm', 'URL= http://127.0.0.1:1080/WebTours/index.htm ', 'Resource= 0 ', 'RecContentType= text/html ', 'Referer=', 'Snapshot= t1.inf ', 'Mode= HTML ', EXTRARES , 'Url= ../favicon.ico ', 'Referer=', ENDITEM , 'Url= https://www.bing.com/favicon.ico ', 'Referer=', ENDITEM , LAST ); statusCode = web_get_int_property( HTTP_INFO_RETURN_CODE ); lr_output_message('The HTTP status code is %d',statusCode); downloadSize = web_get_int_property( HTTP_INFO_DOWNLOAD_SIZE ); lr_output_message('The download size is %d bytes',downloadSize);
Action.c (17): pokrenuto web_get_int_property (MsgId: MMSG-26355)
Action.c (17): web_get_int_property je bio uspješan (MsgId: MMSG-26392)
Action.c (18): HTTP statusni kôd je 200
Action.c (20): pokrenuto web_get_int_property (MsgId: MMSG-26355)
Action.c (20): web_get_int_property je bio uspješan (MsgId: MMSG-26392)
Action.c (21): Veličina preuzimanja je 12891 bajtova
12) web_set_max_html_param_len (): Ova se funkcija koristi za postavljanje maksimalne duljine bilo kojeg HTML niza koji se može dohvatiti i spremiti u parametar. Zadana vrijednost za maksimalnu duljinu parametra koji se može zabilježiti tijekom korelacije je 256 znakova. Ova se funkcija koristi za dohvaćanje niza duljeg od 256 znakova.
13) web_cache_cleanup (): Ova se funkcija koristi za brisanje predmemorije. U postavkama vremena izvođenja - kartica Emulacija preglednika, ako je omogućena opcija 'Simuliraj novog korisnika u svakoj iteraciji', tada se ova funkcija automatski poziva na početku svake iteracije.
14) web_cleanup_cookies (): Ova funkcija briše sve kolačiće koje Vuser trenutno pohranjuje.
petnaest) web_add_cookie (): Ova funkcija dodaje novi kolačić.
16) web_add_header (): Ova funkcija dodaje korisnički definirano zaglavlje na sljedeći HTTP zahtjev.
17) web_save_timestamp_param (): Ova funkcija sprema trenutnu lokalnu vremensku oznaku računala na kojem se izvodi skripta. Ovo je 13-znamenkasti broj, a vrijednost je broj milisekundi od ponoći 1. siječnja 1970.
Primjer:
web_save_timestamp_param('currentTimeStamp', LAST ); lr_output_message(lr_eval_string('Timestamp: {currentTimeStamp}'));
Action.c (5): Vremenska oznaka: 1529249235582
18) web_set_user (): Ova funkcija određuje vrijednost za prijavu i lozinku za web poslužitelj ili proxy poslužitelj. Kada se prijavimo na poslužitelj koji zahtijeva korisničko ime i lozinku, generira se ova funkcija.
19) web_set_proxy (): Ova se funkcija koristi za upućivanje Vusera da usmjeri sve HTTP zahtjeve na navedene Proxy poslužitelj .
dvadeset) web_set_certificate (): Ova se funkcija koristi za upućivanje Vusera da koristi određeni certifikat iz registra Internet Explorera (kad god sigurni web poslužitelj zahtijeva da klijent predoči certifikat).
Na primjer, sljedeća funkcija upućuje Vusera da koristi drugu potvrdu iz registra Internet Explorera.
web_set_certificate('2');
dvadeset i jedan) web_set_sockets_option (): Ova se funkcija koristi za konfiguriranje različitih opcija za utičnice na klijentskom stroju.
SSL_VERSION - SSL verzija: „2“, „3“, „2 i 3“, „TLS“, „TLS1.1“ ili „TLS1.2“.
MAX_CONNECTIONS_PER_HOST - maksimalan broj istodobnih veza po hostu.
CLOSE_KEEPALIVE_CONNECTIONS - Zatvara sve otvorene veze.
C Jezične funkcije
To su funkcije 'C' koje se koriste za poboljšanje VuGen skripti za određene scenarije.
1) strcpy (): Ova funkcija kopira jedan niz u drugi.
Primjer:
char String(100); strcpy (String,'This is a string'); lr_output_message('The content in String is : %s', String);
Action.c (8): Sadržaj u nizu je: Ovo je niz
2) strcmp (): Ova funkcija uspoređuje dva niza i vraća vrijednost koja ukazuje na leksikografsku vezu između njih ('= 0' ako su nizovi isti, '0' ako je prvi niz veći od drugog niza).
Primjer:
char String1(100)= 'The first string'; char String2(100)= 'The second string'; if( strcmp (String1,String2)==0) { lr_output_message('Strings are same'); } else { lr_output_message('Strings are not same'); }
Akcija.c (14): Žice nisu iste.
3) strlen (): Ova funkcija vraća duljinu niza u bajtovima.
4) strcat (): Ova funkcija spaja dva niza.
Primjer:
char String(100)= 'Star'; strcat (String,'Wars'); lr_output_message('The final string is: %s',String);
Action.c (10): Posljednji niz je StarWars.
5) strtok (): Kao što je već viđeno, ova funkcija vraća žeton iz niza odvojenog navedenim znakovima.
6) atoi (): Kao što je već viđeno, ova funkcija pretvara C niz u C cijeli broj.
najbolji softver za snimanje zaslona Windows 10
7) atof (): Ova funkcija pretvara C niz u C plovak.
8) itoa (): Ova funkcija pretvara C cijeli broj u C niz.
Primjer:
int x=1; char y(100); itoa (x,y,10); lr_output_message('The string is: %s',y);
Action.c (8): Niz je: 1
9) fopen (): Ova se funkcija koristi za otvaranje pokazivača datoteke.
10) fclose (): Ova se funkcija koristi za zatvaranje pokazivača datoteke.
jedanaest) fread (): Ova funkcija čita neformatirane podatke iz toka u međuspremnik.
12) fwrite (): Ova funkcija zapisuje neformatirane podatke iz međuspremnika u tok.
13) fprintf (): Kao što je već viđeno, ova funkcija zapisuje formatirani izlaz u datoteku.
14) sprint(): Ova funkcija zapisuje formatirani izlaz u niz.
Primjer:
int arg = 84; char filename(64), * filetype = 'txt'; sprintf (filename, 'log_%d.%s', arg, filetype); lr_output_message ('The new file name is %s', filename);
Action.c (7): Novo ime datoteke je log_84.txt
Zaključak
Iz ovog vodiča saznali smo više o važnim unaprijed definiranim funkcijama LoadRunner.
Te se funkcije brinu za gotovo sve važne scenarije s kojima se obično susrećemo u aplikacijama u stvarnom vremenu. Za dodatne detalje o tim funkcijama savjetuje se uputiti na „Referencu funkcija“ u pomoći za VuGen.
U našem predstojećem vodiču naučit ćete više o skriptiranju web usluga pomoću LoadRunnera.
=> Posjetite ovdje za kompletnu seriju vodiča za LoadRunner
PREV Vodič | SLJEDEĆA Vodič
Preporučena literatura
- Testiranje izvedbe web usluga pomoću LoadRunner VuGen skriptiranja
- Funkcije datuma i vremena u C ++ s primjerima
- Python DateTime Vodič s primjerima
- Funkcije u C ++ s vrstama i primjerima
- Ispitivanje opterećenja pomoću HP LoadRunner vodiča
- Python funkcije
- Python string funkcije
- VUGen opcije snimanja u LoadRunneru