important loadrunner functions used vugen scripts with examples
Dôležité funkcie LoadRunner používané hlavne vo VuGen skriptoch so syntaxou a príkladmi:
Výzvy skriptovania VuGen boli podrobne vysvetlené v našom predchádzajúcom návode v Online bezplatná školiaca séria LoadRunner .
Na našej ceste s LoadRunner VuGen sme sa zatiaľ stretli s mnohými preddefinovanými funkciami (a samozrejme sme videli aj to, ako si napísať vlastné funkcie).
V tomto výučbe uvedieme zoznam a krátku diskusiu o dôležitých „preddefinovaných“ funkciách LoadRunner, špecifických pre protokol a v jazyku C, ktoré väčšinou používame v skriptoch / scenároch VuGen.
=> Kliknutím sem zobrazíte kompletnú sériu tutoriálov LoadRunner
Poďme tieto funkcie rozdeliť do troch kategórií:
- Funkcie LoadRunner (LR)
- Funkcie špecifické pre protokol (Web - HTTP / HTML)
- Funkcie jazyka C.
Poďme preskúmať jeden po druhom!
Čo sa dozviete:
Funkcie LoadRunner (LR)
Tieto funkcie sú všeobecné funkcie LoadRunner, ktoré sú spoločné pre všetky protokoly:
1) lr_eval_string (): Ako už bolo vidieť, táto funkcia vráti vstupný reťazec po vyhodnotení akýchkoľvek vložených parametrov.
dva) lr_eval_string_ext (): Táto funkcia vytvorí medzipamäť a po vyhodnotení vložených parametrov ju priradí k vstupnému reťazcu.
3) lr_save_string (): Ako už bolo vidieť, táto funkcia priraďuje hodnotu parametru / premennej LR.
4) lr_save_int (): Táto funkcia priradí celé číslo parametru LR, ako je uvedené nižšie:
Príklad:
int number; number=8; lr_save_int(number,”numparam”);
Parameter „numparam“ možno teraz použiť ako akýkoľvek iný parameter LR.
5) lr_paramarr_random (): Ako už bolo vidieť, táto funkcia náhodne vyberie jednu z hodnôt z poľa parametrov.
6) lr_paramarr_len (): Táto funkcia vráti počet prvkov v poli parametrov.
Predpokladajme, že „cFlight“ je pole parametrov s letovými hodnotami, nižšie uvedený príklad ukazuje, ako je možné kopírovať počet prvkov tohto poľa do premennej.
Príklad:
int arrLen; arrLen = lr_paramarr_len('cFlight');
7) lr_paramarr_idx (): Táto funkcia poskytuje hodnotu parametra na určenom mieste v poli parametrov. Nižšie uvedený príklad uloží tretiu hodnotu poľa parametrov do premennej.
Príklad:
char * flightVal; flightVal = lr_paramarr_idx('cFlight', 3);
8) lr_db_connect () : Toto je databázová funkcia, ktorá sa používa na pripojenie k databáze.
ako získať falošnú e-mailovú adresu
9) lr_db_disconnect () : Toto je databázová funkcia, ktorá sa používa na odpojenie od databázy.
10) lr_start_transaction () a lr_end_transaction (): Ako už bolo vidieť, tieto funkcie sa používajú na začatie a ukončenie transakcie.
jedenásť) lr_message () : Toto je funkcia správy, ktorá sa používa na odoslanie správy do protokolu a výstupného okna.
12) lr_output_message (): Toto je funkcia správy, ktorá sa používa na odoslanie správ s podrobnosťami, ako je časť skriptu a číslo riadku, do výstupných okien, súborov denníka a iných súhrnov testovacích správ.
13) lr_log_message () : Toto je funkcia správy, ktorá sa používa na odoslanie správ do súboru denníka Vuser alebo agenta, a nie do výstupného okna.
14) lr_error_message (): Toto je funkcia správy, ktorá sa používa na odoslanie správ do výstupných okien, súborov denníka a iných súhrnov testovacích správ.
pätnásť) lr_save_datetime (): Táto funkcia uloží aktuálny dátum a čas (alebo dátum a čas so zadaným posunom) do parametra, ktorý je možné v našom skripte použiť podľa potreby.
Príklad:
lr_save_datetime('Today’s date is %B %d %Y', DATE_NOW , 'today'); lr_output_message(lr_eval_string('{today}'));
Action.c (4): Dnešný dátum je 9. júna 2018
Ďalej je uvedený ďalší príklad, kde sa používa posunutie o jeden deň:
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): Zajtrajší dátum je 10. júna 2018
16) lr_set_debug_message (): Táto funkcia mení úroveň protokolovania správ (pre časť skriptu) z úrovne nastavenej v nastaveniach run-time. Ako je uvedené nižšie, úplné sledovanie je povolené iba pre požiadavku „index.htm“ (aj keď je úroveň protokolu nastavená na hodnotu „Štandardný protokol“ v nastaveniach za behu).
Príklad:
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 (): Táto funkcia zruší vykonanie skriptu po vykonaní sekcie „vuser_end“. Táto funkcia je užitočná, keď potrebujeme skript ručne prerušiť z dôvodu konkrétneho chybového stavu.
18) lr_exit (): Táto funkcia dáva Vuserovi pokyn, aby počas vykonávania ukončil beh skriptu a pokračoval podľa zadaných „Možnosti pokračovania v skripte“.
V nasledujúcom príklade, táto funkcia dá Vuserovi pokyn, aby zastavil aktuálnu globálnu iteráciu spustenia skriptu a spustil ďalšiu iteráciu.
lr_exit(LR_EXIT_MAIN_ITERATION_AND_CONTINUE, LR_AUTO);
Tu je zoznam ďalších možností pokračovania skriptov:
- LR_EXIT_VUSER - Skončite bez akýchkoľvek podmienok a choďte priamo na akciu vuser_end.
- LR_EXIT_ACTION_AND_CONTINUE - Zastaviť aktuálnu akciu a prejsť na ďalšiu akciu.
- LR_EXIT_ITERATION_AND_CONTINUE - Zastavte aktuálnu iteráciu a prejdite na ďalšiu iteráciu.
- LR_EXIT_VUSER_AFTER_ITERATION - Ukončite po dokončení aktuálneho iteračného chodu.
- LR_EXIT_VUSER_AFTER_ACTION - Skončite po dokončení prebiehajúcej akcie.
19) lr_think_time (): Táto funkcia umožňuje Vuserovi pozastaviť sa na určitý čas medzi krokmi / akciami na skripte VuGen. Jedná sa o simuláciu skutočného správania používateľa v myslení po určitý čas medzi akciami / krokmi v aplikácii.
Napríklad, nasledujúce spôsobia, aby Vuser čakal 10 sekúnd ...
lr_think_time(10);
dvadsať) lr_rendezvous (): Ako už bolo vidieť, táto funkcia dáva príkazu LoadRunner čakať v určenom kroku skriptu, kým všetci Vusers prídu k tomuto kroku, aby bolo možné vykonať následnú požiadavku súčasne.
dvadsaťjeden) lr_load_dll (): Táto funkcia sa používa na načítanie externej DLL, ktorá umožňuje Vuserovi zavolať externú funkciu pri opätovnom prehraní skriptu.
22) lr_save_searched_string (): Táto funkcia vyhľadá výskyt reťazca v medzipamäti a uloží časť medzipamäte po tomto reťazci do parametra.
V nasledujúcom príklade , tretí výskyt (číslo definované v treťom atribúte plus 1) reťazca „all“ sa prehľadá vo vyrovnávacej pamäti a ďalších 14 znakov (šiesty atribút) sa uloží do parametra (piaty atribút „1“ preskočí priestor po vyhľadávaní ).
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): Hľadaný podreťazec je King’s men.
2. 3) lr_vuser_status_message (): Táto funkcia odošle správu do stavovej oblasti Vuser radiča a do protokolu Vuser.
24) lr_next_row (): Táto funkcia pracuje na zadanom dátovom súbore parametrov a používa sa na presun aktívneho riadku do nasledujúceho riadku.
25) lr_advance_param (): Táto funkcia umožňuje skriptu použiť ďalšiu dostupnú hodnotu parametra pri práci s názvami stĺpcov.
26) lr_start_timer () a lr_end_timer (): Tieto funkcie sa používajú na spustenie a zastavenie časovača v skripte VuGen, ktorý počíta čas v sekundách.
27) lr_whoami (): Táto funkcia vracia informácie o Vuserovi (ako Vuser id, Vuser group).
28) lr_get_vuser_ip (): Táto funkcia vracia adresu IPv4 Vuser.
29) lr_get_host_name (): Táto funkcia vráti názov stroja, ktorý vykonáva skript.
30) lr_get_master_host_name (): Táto funkcia vráti názov zariadenia, na ktorom je spustený radič.
31) lr_decrypt (): Táto funkcia dešifruje kódovaný reťazec. Spravidla sa používa na dešifrovanie hesiel.
32) lr_continue_on_error (): Táto funkcia určuje, ako vyriešiť chyby, aby sa mohli naďalej spustiť, ak sa vyskytne chyba, alebo ako prerušiť vykonávanie skriptu.
************************************
V tejto časti sme sa podrobnejšie zaoberali „preddefinovanými“ funkciami a funkciami „LoadRunner“.
V našej nasledujúcej časti si povieme niečo o funkciách LoadRunner „Protocol Specific“ a „C-Language“.
Funkcie špecifické pre protokol
Tieto funkcie sú špecifické pre protokol, v našej diskusii sa obmedzíme na diskusiu o protokole „Web-HTTP / HTML“ alebo jednoducho o funkciách špecifických pre „Web“.
1) web_url (): Táto funkcia načíta webovú stránku určenú argumentom URL.
dva) web_submit_form (): Táto funkcia odošle formulár. A táto funkcia sa zaznamenáva iba v režime HTML a predkladá kontextovo citlivú požiadavku (o kontextovo citlivých a bezkontextových požiadavkách sme už hovorili).
Pozri príklad nižšie:
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 (): Táto funkcia odovzdáva formulár bez kontextu. Táto funkcia sa zaznamenáva iba v režime nahrávania na základe adresy URL alebo v režime nahrávania na základe HTML so začiarknutou možnosťou „Skript obsahujúci iba explicitné adresy URL“.
Pozri príklad nižšie:
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 (): Táto funkcia sa používa na vytvorenie vlastnej požiadavky HTTP pomocou ľubovoľnej metódy alebo tela.
5) web_concurrent_start () a web_concurrent_end (): Tieto funkcie sa používajú na označenie začiatku a konca súbežnej skupiny. Všetky funkcie v skupine (uzavreté medzi týmito funkciami) sa vykonávajú súčasne.
6) web_reg_save_param (): Ako už bolo vidieť, jedná sa o hraničnú korelačnú funkciu.
7) web_reg_save_param_ex (): Toto je tiež hraničná korelačná funkcia, ktorá je vylepšenou verziou funkcie web_reg_save_param.
8) web_reg_find (): Ako už bolo vidieť, táto funkcia sa používa na kontrolu textu.
9) web_image_check (): Ako už bolo vidieť, táto funkcia sa používa na kontrolu obrázkov.
10) web_convert_param (): Táto funkcia sa používa na prevod textu HTML na obyčajný text alebo adresu URL alebo obyčajného textu na adresu URL. V príklade uvedenom nižšie tieto funkcie prevádzajú obsah parametra „ParamName“ z formátu HTML do formátu URL.
Príklad:
web_convert_param („ParamName“, „SourceEncoding = HTML“, „TargetEncoding = URL“, POSLEDNÉ);
jedenásť) web_get_int_property (): Táto funkcia vracia konkrétne informácie (ako stavový kód, veľkosť sťahovaného súboru atď.) O predchádzajúcej požiadavke HTTP. V príklade zobrazenom nižšie sa táto funkcia používa na vrátenie stavového kódu HTTP a veľkosti sťahovaného súboru.
Príklad:
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 spustené (MsgId: MMSG-26355)
Action.c (17): web_get_int_property bol úspešný (MsgId: MMSG-26392)
Action.c (18): Stavový kód HTTP je 200
Action.c (20): web_get_int_property spustené (MsgId: MMSG-26355)
Action.c (20): web_get_int_property bol úspešný (MsgId: MMSG-26392)
Action.c (21): Veľkosť súboru na stiahnutie je 12891 bajtov
12) web_set_max_html_param_len (): Táto funkcia sa používa na nastavenie maximálnej dĺžky ľubovoľného reťazca HTML, ktorý je možné načítať a uložiť do parametra. Predvolená hodnota maximálnej dĺžky parametra, ktorú je možné zachytiť počas korelácie, je 256 znakov. Táto funkcia sa používa na získanie reťazca dlhšieho ako 256 znakov.
13) web_cache_cleanup (): Táto funkcia sa používa na vyčistenie medzipamäte. Ak je na karte runtime settings - Browser Emulation povolená možnosť „Simulovať nového používateľa každú iteráciu“, potom sa táto funkcia zavolá automaticky na začiatku každej iterácie.
14) web_cleanup_cookies (): Táto funkcia vymaže všetky súbory cookie, ktoré sú momentálne uložené Vuserom.
pätnásť) web_add_cookie (): Táto funkcia pridá nový súbor cookie.
16) web_add_header (): Táto funkcia pridá používateľom definované hlavičky k nasledujúcej požiadavke HTTP.
17) web_save_timestamp_param (): Táto funkcia uloží aktuálnu miestnu časovú značku počítača, na ktorom je spustený skript. Toto je 13-miestne číslo a hodnotou je počet milisekúnd od polnoci 1. januára 1970.
Príklad:
web_save_timestamp_param('currentTimeStamp', LAST ); lr_output_message(lr_eval_string('Timestamp: {currentTimeStamp}'));
Action.c (5): Časová pečiatka: 1529249235582
18) web_set_user (): Táto funkcia určuje prihlasovaciu hodnotu a heslo pre webový server alebo proxy server. Keď sa prihlásime na server, ktorý vyžaduje používateľské meno a heslo, táto funkcia sa vygeneruje.
19) web_set_proxy (): Táto funkcia sa používa na zadanie pokynu Vuserovi, aby smeroval všetky požiadavky HTTP na zadanú hodnotu Proxy server .
dvadsať) web_set_certificate (): Táto funkcia sa používa na zadanie pokynu Vuserovi, aby použil konkrétny certifikát z registra prehliadača Internet Explorer (kedykoľvek zabezpečený webový server vyžaduje, aby klient predložil certifikát).
Napríklad, nasledujúca funkcia dá Vuserovi pokyn, aby použil druhý certifikát z registra internetového prieskumníka.
web_set_certificate('2');
dvadsaťjeden) web_set_sockets_option (): Táto funkcia sa používa na konfiguráciu rôznych možností soketov na klientskom počítači.
SSL_VERSION - verzia SSL: „2“, „3“, „2 a 3“, „TLS“, „TLS1.1“ alebo „TLS1.2“.
MAX_CONNECTIONS_PER_HOST - Maximálny počet súbežných pripojení na hostiteľa.
CLOSE_KEEPALIVE_CONNECTIONS - Zatvorí všetky otvorené spojenia.
Funkcie jazyka C
Toto sú funkcie „C“, ktoré sa používajú na vylepšenie skriptov VuGen pre konkrétne scenáre.
1) strcpy (): Táto funkcia kopíruje jeden reťazec do druhého.
Príklad:
char String(100); strcpy (String,'This is a string'); lr_output_message('The content in String is : %s', String);
Action.c (8): Obsah v reťazci je: Toto je reťazec
dva) strcmp (): Táto funkcia porovnáva dva reťazce a vracia hodnotu, ktorá označuje lexikografický vzťah medzi nimi („= 0“, ak sú reťazce rovnaké, „0“, ak je prvý reťazec väčší ako druhý reťazec).
Príklad:
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): Struny nie sú rovnaké.
3) strlen (): Táto funkcia vracia dĺžku reťazca v bajtoch.
4) strcat (): Táto funkcia spája dva reťazce.
Príklad:
char String(100)= 'Star'; strcat (String,'Wars'); lr_output_message('The final string is: %s',String);
Action.c (10): Výsledná struna je StarWars.
5) strtok (): Ako už bolo vidieť, táto funkcia vracia token z reťazca ohraničeného zadanými znakmi.
6) atoi (): Ako už bolo vidieť, táto funkcia prevádza reťazec C na celé číslo C.
7) atof (): Táto funkcia prevádza reťazec C na plavák C.
8) itoa (): Táto funkcia prevádza celé číslo C na reťazec C.
Príklad:
int x=1; char y(100); itoa (x,y,10); lr_output_message('The string is: %s',y);
Action.c (8): Reťazec je: 1
9) fopen (): Táto funkcia sa používa na otvorenie ukazovateľa súboru.
10) fclose (): Táto funkcia sa používa na zatvorenie ukazovateľa súboru.
jedenásť) fread (): Táto funkcia číta neformátované údaje z toku do medzipamäte.
12) fwrite (): Táto funkcia zapisuje neformátované údaje z medzipamäte do toku.
13) fprintf (): Ako už bolo vidieť, táto funkcia zapisuje formátovaný výstup do súboru.
ako hrať mkv súbor na pc
14) sprint (): Táto funkcia zapisuje formátovaný výstup do reťazca.
Príklad:
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): Nový názov súboru je log_84.txt
Záver
Z tohto tutoriálu sme sa dozvedeli viac o dôležitých preddefinovaných funkciách LoadRunner.
Tieto funkcie sa starajú o takmer všetky dôležité scenáre, s ktorými sa vo všeobecnosti stretávame v aplikáciách v reálnom čase. Pre ďalšie podrobnosti o týchto funkciách sa odporúča odkazovať na „Referenčné informácie o funkciách“ v pomocníkovi VuGen.
V našom pripravovanom výučbe sa dozviete viac o skriptovaní webových služieb pomocou nástroja LoadRunner.
=> Navštívte tu kompletnú sériu tutoriálov LoadRunner
Výukový program PREV | NEXT Tutorial
Odporúčané čítanie
- Testovanie výkonu webových služieb pomocou skriptovania LoadRunner VuGen
- Funkcie dátumu a času v C ++ s príkladmi
- Výukový program pre Python DateTime s príkladmi
- Funkcie v C ++, typy a príklady
- Testovanie záťaže s výukovými programami HP LoadRunner
- Pythonove funkcie
- Funkcie reťazca Python
- Možnosti nahrávania VUGen v LoadRunneri