important loadrunner functions used vugen scripts with examples
Pomembne funkcije LoadRunner, ki se uporabljajo predvsem v skriptih VuGen s sintakso in primeri:
VuGen Scripting Challenges so bili podrobno razloženi v naši prejšnji vadnici v Spletna brezplačna serija treningov LoadRunner .
Na potovanju z LoadRunner VuGen-om smo doslej naleteli na številne vnaprej določene funkcije (in seveda smo videli tudi, kako pisati svoje funkcije).
V tej vadnici bomo našteli in na kratko spregovorili o pomembnih ‘vnaprej določenih’ funkcijah LoadRunner, protokolu in jeziku C, ki jih večinoma uporabljamo v skriptih / scenarijih VuGen.
=> Kliknite tukaj za celotno serijo vadnic LoadRunner
Te funkcije razvrstimo v tri kategorije:
- Funkcije LoadRunner (LR)
- Funkcije, specifične za protokol (splet - HTTP / HTML)
- C jezikovne funkcije
Raziskujmo enega za drugim!
Kaj se boste naučili:
- Funkcije LoadRunner (LR)
- Funkcije, specifične za protokol
- C Jezikovne funkcije
- Zaključek
- Priporočeno branje
Funkcije LoadRunner (LR)
Te funkcije so splošne funkcije LoadRunner, ki so skupne vsem protokolom:
kako dodati nekaj v polje Java
1) lr_eval_string (): Kot smo že videli, ta funkcija vrne vhodni niz po oceni vdelanih parametrov.
2) lr_eval_string_ext (): Ta funkcija po oceni vdelanih parametrov ustvari medpomnilnik in ga dodeli vhodnemu nizu.
3) lr_save_string (): Kot smo že videli, ta funkcija parametru / spremenljivki LR dodeli vrednost.
4) lr_save_int (): Ta funkcija parametru LR dodeli celo število, kot je prikazano spodaj:
Primer:
int number; number=8; lr_save_int(number,”numparam”);Parameter „numparam“ se lahko zdaj uporablja kot kateri koli drug parameter LR.
5) lr_paramarr_random (): Kot smo že videli, ta funkcija naključno izbere eno od vrednosti iz polja parametrov.
6) lr_paramarr_len (): Ta funkcija vrne število elementov v matriki parametrov.
Predpostavimo, da je 'cFlight' matrika parametrov z vrednostmi leta, spodnji primer prikazuje, kako je mogoče število elementov te matrike kopirati v spremenljivko.
Primer:
int arrLen; arrLen = lr_paramarr_len('cFlight');7) lr_paramarr_idx (): Ta funkcija daje vrednost parametra na določenem mestu v nizu parametrov. Spodnji primer shrani tretjo vrednost polja parametrov v spremenljivko.
Primer:
char * flightVal; flightVal = lr_paramarr_idx('cFlight', 3);8) lr_db_connect () : To je funkcija baze podatkov, ki se uporablja za povezavo z bazo podatkov.
9) lr_db_disconnect () : To je funkcija baze podatkov, ki se uporablja za prekinitev povezave z bazo podatkov.
10) lr_start_transaction () in lr_end_transaction (): Kot smo že videli, se te funkcije uporabljajo za začetek in konec (oziroma) transakcije.
enajst) lr_message () : To je funkcija sporočila, ki se uporablja za pošiljanje sporočil v dnevnik in izhodno okno.
12) lr_output_message (): To je funkcija sporočila, ki se uporablja za pošiljanje sporočil s podrobnostmi, kot so odsek skripta in številka vrstice, v izhodna okna, dnevniške datoteke in druge povzetke poročil o preskusih.
13) lr_log_message () : To je funkcija sporočila, ki se uporablja za pošiljanje sporočil v datoteko dnevnika Vuser ali agenta in ne v izhodno okno.
14) lr_error_message (): To je funkcija sporočil, ki se uporablja za pošiljanje sporočil v izhodna okna, dnevniške datoteke in druge povzetke poročil o preskusu.
petnajst) lr_save_datetime (): Ta funkcija shrani trenutni datum in uro (ali datum in čas z določenim zamikom) v parameter, ki ga lahko uporabimo v našem skriptu po potrebi.
Primer:
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 9. junij 2018
Spodaj je še en primer, kjer se uporablja odmik enega dne:
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): Jutrišnji datum je 10. junij 2018
16) lr_set_debug_message (): Ta funkcija spremeni raven beleženja sporočil (za del skripta) iz nastavljene v nastavitvah teka. Kot je prikazano spodaj, je popolna sled omogočena samo za zahtevo ‘index.htm’ (tudi če je raven dnevnika nastavljena na ‘Standard log’ v nastavitvah teka).
Primer:
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 (): Ta funkcija prekine izvajanje skripta po izvedbi razdelka 'vuser_end'. Ta funkcija je uporabna, kadar moramo skript ročno prekiniti zaradi posebnega stanja napake.
18) lr_exit (): Ta funkcija Vuserju naroči, naj med izvajanjem izstopi iz zagnanega skripta in nadaljuje v skladu z navedenimi možnostmi za nadaljevanje skripta.
V naslednjem primeru, ta funkcija Vuserju naroči, naj ustavi trenutno ponovitev zagona globalnega skripta in začne naslednjo ponovitev.
lr_exit(LR_EXIT_MAIN_ITERATION_AND_CONTINUE, LR_AUTO);Tu je seznam drugih možnosti nadaljevanja skripta:
- LR_EXIT_VUSER - Zapustite brez kakršnega koli pogoja in pojdite neposredno na vuser_end action.
- LR_EXIT_ACTION_AND_CONTINUE - Ustavite trenutno dejanje in pojdite na naslednje.
- LR_EXIT_ITERATION_AND_CONTINUE - Ustavite trenutno ponovitev in pojdite na naslednjo ponovitev.
- LR_EXIT_VUSER_AFTER_ITERATION - Izhod po končanem trenutnem ponavljanju.
- LR_EXIT_VUSER_AFTER_ACTION - Izhod po končanem trenutnem poteku akcije.
19) lr_think_time (): Ta funkcija omogoča uporabniku, da se določen čas zaustavi med koraki / dejanji v skriptu VuGen. To je namenjeno simulaciji dejanskega vedenja uporabnikovega razmišljanja za nekaj časa med dejanji / koraki v aplikaciji.
Na primer, zaradi tega Vuser čaka 10 sekund ...
lr_think_time(10);dvajset) lr_rendezvous (): Kot smo že videli, ta funkcija LoadRunnerju naroči, naj počaka pri določenem koraku v skriptu, dokler vsi Vusers ne pridejo do tega koraka, da se lahko naslednja zahteva izvede hkrati.
najboljši čistilec trdega diska za Windows 10
enaindvajset) lr_load_dll (): Ta funkcija se uporablja za nalaganje zunanjega dll-a, kar omogoča Vuserju, da pri ponovnem predvajanju skripta pokliče zunanjo funkcijo.
22) lr_save_searched_string (): Ta funkcija išče pojav niza v vmesnem pomnilniku in shrani del vmesnega pomnilnika po tem nizu v parameter.
V naslednjem primeru , tretji pojav (številka, določena v tretjem atributu plus 1) niza »vse« se poišče v vmesnem pomnilniku, naslednjih 14 znakov (šesti atribut) pa se shrani v parameter (peti atribut '1' preskoči presledek po iskanju ).
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): Iskani podniz so kraljevi možje.
2. 3) lr_vuser_status_message (): Ta funkcija pošlje sporočilo v območje stanja Vuserja krmilnika in v dnevnik Vuserja.
24) lr_next_row (): Ta funkcija deluje na podani podatkovni datoteki parametrov in se uporablja za napredovanje aktivne vrstice v naslednjo vrstico.
25) lr_advance_param (): Ta funkcija omogoča, da skript uporabi naslednjo razpoložljivo vrednost parametra, tako da dela z imeni stolpcev.
26) lr_start_timer () in lr_end_timer (): Te funkcije se uporabljajo za zagon in zaustavitev časovnika v skriptu VuGen, ki izračuna čas v sekundah.
27) lr_whoami (): Ta funkcija vrne informacije o uporabniku (npr. ID uporabnika, skupina Vuser).
28) lr_get_vuser_ip (): Ta funkcija vrne naslov IPv4 uporabnika.
29) lr_get_host_name (): Ta funkcija vrne ime naprave, ki izvaja skript.
30) lr_get_master_host_name (): Ta funkcija vrne ime naprave, na kateri je krmilnik.
31) lr_decrypt (): Ta funkcija dešifrira kodirani niz. Običajno se uporablja za dešifriranje gesel.
32) lr_continue_on_error (): Ta funkcija določa, kako ravnati z napakami, če se še naprej izvaja, če pride do napake, ali da prekine izvajanje skripta.
***********************************
V tem poglavju smo podrobneje razpravljali o vnaprej določenih funkcijah in funkcijah LoadRunner.
V naslednjem poglavju bomo govorili o funkcijah LoadRunner ‘Protocol Specific’ in ‘C-Language’.

Funkcije, specifične za protokol
Te funkcije so specifične za protokol, v naši razpravi se bomo omejili na razpravo o protokolu 'Web-HTTP / HTML' ali preprosto o funkcijah protokola 'Web'.
1) spletni_url (): Ta funkcija naloži spletno stran, določeno z argumentom URL.
2) web_submit_form (): Ta funkcija odda obrazec. In ta funkcija je zabeležena samo v načinu HTML in oddaja kontekstno občutljivo zahtevo (že smo govorili o kontekstno občutljivih in brezkontekstnih zahtevah).
Glej primer spodaj:
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 (): Ta funkcija odda obrazec brez konteksta. Ta funkcija je posneta samo v načinu snemanja na podlagi URL-ja ali v načinu snemanja na osnovi HTML z označeno možnostjo »Skript, ki vsebuje samo eksplicitne URL-je«.
Glej spodnji primer:
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 (): Ta funkcija se uporablja za ustvarjanje zahteve HTTP po meri s katero koli metodo ali telesom.
5) web_concurrent_start () in web_concurrent_end (): Te funkcije se uporabljajo za označevanje začetka in konca (oziroma) sočasne skupine. Vse funkcije znotraj skupine (zaprte med temi funkcijami) se izvajajo sočasno.
6) web_reg_save_param (): Kot smo že videli, gre za korelacijsko funkcijo, ki temelji na meji.
7) web_reg_save_param_ex (): To je tudi korelacijska funkcija, ki temelji na mejah in je izboljšana različica funkcije web_reg_save_param.
8) web_reg_find (): Kot smo že videli, se ta funkcija uporablja za preverjanje besedila.
9) web_image_check (): Kot smo že videli, se ta funkcija uporablja za pregled slike.
10) web_convert_param (): Ta funkcija se uporablja za pretvorbo besedila HTML v navadno besedilo ali URL ali navadno besedilo v URL. V spodnjem primeru te funkcije pretvorijo vsebino parametra „ParamName“ iz oblike HTML v obliko URL.
Primer:
web_convert_param (“ParamName”, “SourceEncoding = HTML”, “TargetEncoding = URL”, ZADNJE);
enajst) web_get_int_property (): Ta funkcija vrne določene informacije (kot so koda stanja, velikost prenosa itd.) O prejšnji zahtevi HTTP. V spodnjem primeru je ta funkcija uporabljena za vrnitev statusne kode HTTP in velikosti prenosa.
Primer:
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): web_get_int_property se je začela (MsgId: MMSG-26355)
Action.c (17): web_get_int_property je bil uspešen (MsgId: MMSG-26392)
Action.c (18): Koda stanja HTTP je 200
Action.c (20): web_get_int_property se je začela (MsgId: MMSG-26355)
Action.c (20): web_get_int_property je bil uspešen (MsgId: MMSG-26392)
Action.c (21): Velikost prenosa je 12891 bajtov
12) web_set_max_html_param_len (): Ta funkcija se uporablja za nastavitev največje dolžine katerega koli niza HTML, ki ga je mogoče pridobiti in shraniti v parametru. Privzeta vrednost največje dolžine parametra, ki jo je mogoče zajeti med korelacijo, je 256 znakov. Ta funkcija se uporablja za pridobivanje niza, daljšega od 256 znakov.
13) web_cache_cleanup (): Ta funkcija se uporablja za čiščenje predpomnilnika. Če je v zavihku runtime settings - zavihek Emulacija brskalnika omogočena možnost »Simuliraj novega uporabnika na vsaki ponovitvi«, se ta funkcija samodejno pokliče na začetku vsake ponovitve.
14) web_cleanup_cookies (): Ta funkcija izbriše vse piškotke, ki jih trenutno shrani Vuser.
petnajst) web_add_cookie (): Ta funkcija doda nov piškotek.
16) web_add_header (): Ta funkcija doda uporabniško določeno glavo naslednji zahtevi HTTP.
17) web_save_timestamp_param (): Ta funkcija shrani trenutni lokalni časovni žig računalnika, v katerem se izvaja skript. To je 13-mestno število, vrednost pa je število milisekund od polnoči 1. januarja 1970.
Primer:
web_save_timestamp_param('currentTimeStamp', LAST ); lr_output_message(lr_eval_string('Timestamp: {currentTimeStamp}'));Action.c (5): Časovni žig: 1529249235582
18) web_set_user (): Ta funkcija določa prijavno vrednost in geslo za spletni strežnik ali strežnik proxy. Ko se prijavimo v strežnik, ki zahteva uporabniško ime in geslo, se ta funkcija ustvari.
19) web_set_proxy (): S to funkcijo se Vuserju naroči, naj vse zahteve HTTP usmeri na določeno Proxy strežnik .
dvajset) web_set_certificate (): S to funkcijo se Vuserju naroči, naj uporabi določeno potrdilo iz registra Internet Explorerja (kadar varni spletni strežnik od stranke zahteva, da predloži potrdilo).
Na primer, naslednja funkcija naroči uporabniku, naj uporabi drugo potrdilo iz registra Internet Explorerja.
web_set_certificate('2');enaindvajset) web_set_sockets_option (): Ta funkcija se uporablja za konfiguriranje različnih možnosti vtičnic na odjemalskem računalniku.
SSL_VERSION - različica SSL: „2“, „3“, „2 in 3“, „TLS“, „TLS1.1“ ali „TLS1.2“.
MAX_CONNECTIONS_PER_HOST - Največje število sočasnih povezav na gostitelja.
CLOSE_KEEPALIVE_CONNECTIONS - Zapre vse odprte povezave.
C Jezikovne funkcije
To so funkcije 'C', ki se uporabljajo za izboljšanje skriptov VuGen za določene scenarije.
1) strcpy (): Ta funkcija kopira en niz v drugega.
Primer:
char String(100); strcpy (String,'This is a string'); lr_output_message('The content in String is : %s', String);Action.c (8): Vsebina v nizu je: To je niz
2) strcmp (): Ta funkcija primerja dva niza in vrne vrednost, ki označuje leksikografsko zvezo med njima ('= 0', če so nizi enaki, '0', če je prvi niz večji od drugega niza).
metoda razvoja življenjske dobe slap
Primer:
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'); }Action.c (14): Strune niso enake.
3) strlen (): Ta funkcija vrne dolžino niza v bajtih.
4) strcat (): Ta funkcija združuje dva niza.
Primer:
char String(100)= 'Star'; strcat (String,'Wars'); lr_output_message('The final string is: %s',String);Action.c (10): Zadnji niz je StarWars.
5) strtok (): Kot smo že videli, ta funkcija vrne žeton iz niza, ki je omejen z določenimi znaki.
6) atoi (): Kot smo že videli, ta funkcija pretvori niz C v celo število C.
7) atof (): Ta funkcija pretvori niz C v plovec C.
8) itoa (): Ta funkcija pretvori celo število C v niz C.
Primer:
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 (): Ta funkcija se uporablja za odpiranje kazalca datoteke.
10) fclose (): Ta funkcija se uporablja za zapiranje kazalca datoteke.
enajst) fread (): Ta funkcija bere neformatirane podatke iz toka v medpomnilnik.
12) fwrite (): Ta funkcija zapisuje neoblikovane podatke iz vmesnega pomnilnika v tok.
13) fprintf (): Kot smo že videli, ta funkcija zapisuje formatirani izhod v datoteko.
14) sprint (): Ta funkcija zapisuje oblikovani izhod v niz.
Primer:
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ček
Iz te vadnice smo izvedeli več o pomembnih vnaprej določenih funkcijah LoadRunner.
Te funkcije skrbijo za skoraj vse pomembne scenarije, s katerimi se običajno srečujemo v aplikacijah v realnem času. Za dodatne podrobnosti o teh funkcijah priporočamo, da si ogledate „Referenco funkcij“ v pomoči za VuGen.
V naši prihajajoči vadnici boste izvedeli več o skriptiranju spletnih storitev z uporabo LoadRunnerja.
=> Obiščite tukaj za celotno serijo vadnic LoadRunner
PREV Vadnica | NASLEDNJA Vadnica
Priporočeno branje
- Testiranje učinkovitosti spletnih storitev s pomočjo skriptov LoadRunner VuGen
- Datum in čas v C ++ z primeri
- Vadnica Python DateTime s primeri
- Funkcije v jeziku C ++ z vrstami in primeri
- Testiranje obremenitve z vadnicami HP LoadRunner
- Python funkcije
- Funkcije niza Python
- Možnosti snemanja VUGen v LoadRunnerju