important loadrunner functions used vugen scripts with examples
Důležité funkce LoadRunner používané hlavně ve skriptech VuGen se syntaxí a příklady:
Výzvy skriptování VuGen byly podrobně vysvětleny v našem dřívějším tutoriálu v Online bezplatná tréninková řada LoadRunner .
Na naší cestě s LoadRunner VuGen jsme zatím narazili na mnoho předdefinovaných funkcí (a samozřejmě jsme také viděli, jak psát vlastní funkce).
V tomto tutoriálu uvedeme výčet a krátký rozhovor o důležitých „předdefinovaných“ funkcích LoadRunner, specifických pro protokol a v jazyce C, které většinou používáme ve skriptech / scénářích VuGen.
=> Kliknutím sem zobrazíte kompletní řadu výukových programů LoadRunner
Rozdělme tyto funkce do tří kategorií:
- Funkce LoadRunner (LR)
- Funkce specifické pro protokol (Web - HTTP / HTML)
- Funkce jazyka C.
Pojďme prozkoumat jeden po druhém!
Co se naučíte:
Funkce LoadRunner (LR)
Tyto funkce jsou obecné funkce LoadRunner, které jsou společné pro všechny protokoly:
1) lr_eval_string (): Jak již bylo vidět, tato funkce vrací vstupní řetězec po vyhodnocení všech vložených parametrů.
dva) lr_eval_string_ext (): Tato funkce vytvoří vyrovnávací paměť a po vyhodnocení vložených parametrů ji přiřadí vstupnímu řetězci.
3) lr_save_string (): Jak již bylo vidět, tato funkce přiřadí hodnotu parametru / proměnné LR.
4) lr_save_int (): Tato funkce přiřadí celé číslo parametru LR, jak je znázorněno níže:
Příklad:
int number; number=8; lr_save_int(number,”numparam”);
Parametr „numparam“ lze nyní použít jako jakýkoli jiný parametr LR.
5) lr_paramarr_random (): Jak již bylo vidět, tato funkce náhodně vybere jednu z hodnot z pole parametrů.
6) lr_paramarr_len (): Tato funkce vrací počet prvků v poli parametrů.
Předpokládejme, že ‚cFlight 'je pole parametrů s letovými hodnotami, níže uvedený příklad ukazuje, jak lze počet prvků tohoto pole zkopírovat do proměnné.
Příklad:
int arrLen; arrLen = lr_paramarr_len('cFlight');
7) lr_paramarr_idx (): Tato funkce udává hodnotu parametru na zadaném místě v poli parametrů. Níže uvedený příklad uloží třetí hodnotu pole parametrů do proměnné.
Příklad:
testovací techniky černé skříňky s příklady ppt
char * flightVal; flightVal = lr_paramarr_idx('cFlight', 3);
8) lr_db_connect () : Toto je databázová funkce, která se používá pro připojení k databázi.
9) lr_db_disconnect () : Toto je databázová funkce, která se používá k odpojení od databáze.
10) lr_start_transaction () a lr_end_transaction (): Jak již bylo vidět, tyto funkce se používají ke spuštění a ukončení transakce.
jedenáct) lr_message () : Toto je funkce zprávy, která se používá k odeslání zprávy do protokolu a výstupního okna.
12) lr_output_message (): Toto je funkce zprávy, která se používá k odeslání zprávy s podrobnostmi, jako je část skriptu a číslo řádku, do výstupních oken, souborů protokolu a dalších souhrnů testovacích zpráv.
13) lr_log_message () : Toto je funkce zprávy, která se používá k odeslání zprávy do souboru protokolu Vuser nebo agenta, nikoli do výstupního okna.
14) lr_error_message (): Toto je funkce zprávy, která se používá k odeslání zprávy do výstupních oken, souborů protokolu a dalších souhrnů testovacích zpráv.
patnáct) lr_save_datetime (): Tato funkce uloží aktuální datum a čas (nebo datum a čas se zadaným posunem) do parametru, který lze v našem skriptu použít podle potřeby.
Pří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í datum je 9. června 2018
Níže je uveden další příklad, kde se používá offset jednoho 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): Zítřejší datum je 10. června 2018
16) lr_set_debug_message (): Tato funkce mění úroveň protokolování zpráv (pro část skriptu) z úrovně nastavené v nastavení Runtime. Jak je uvedeno níže, úplné trasování je povoleno pouze pro požadavek „index.htm“ (i když je úroveň protokolu nastavena na „Standardní protokol“ v nastavení běhu).
Pří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 (): Tato funkce přeruší provádění skriptu po provedení sekce „vuser_end“. Tato funkce je užitečná, když potřebujeme ručně zrušit skript kvůli konkrétní chybě.
18) lr_exit (): Tato funkce dává Vuserovi pokyn, aby během provádění ukončil běh skriptu a pokračoval podle specifikovaných „Možnosti pokračování skriptu“.
V následujícím příkladu, tato funkce dává Vuserovi pokyn, aby zastavil aktuální iteraci spuštění globálního skriptu a zahájil další iteraci.
lr_exit(LR_EXIT_MAIN_ITERATION_AND_CONTINUE, LR_AUTO);
Zde je seznam dalších možností pokračování skriptu:
- LR_EXIT_VUSER - Ukončete bez jakýchkoli podmínek a přejděte přímo na akci vuser_end.
- LR_EXIT_ACTION_AND_CONTINUE - Zastavte aktuální akci a přejděte na další akci.
- LR_EXIT_ITERATION_AND_CONTINUE - Zastavte aktuální iteraci a přejděte na další iteraci.
- LR_EXIT_VUSER_AFTER_ITERATION - Konec po dokončení aktuálního iteračního běhu.
- LR_EXIT_VUSER_AFTER_ACTION - Konec po dokončení aktuální akce.
19) lr_think_time (): Tato funkce umožňuje Vuserovi po určitou dobu mezi kroky / akcemi skriptu VuGen pozastavit. Jedná se o simulaci skutečného chování uživatele při přemýšlení po určitou dobu mezi akcemi / kroky v aplikaci.
Například, následující způsobí, že Vuser čeká 10 sekund ...
lr_think_time(10);
dvacet) lr_rendezvous (): Jak již bylo vidět, tato funkce dává instrukci LoadRunneru, aby počkal ve specifikovaném kroku skriptu, dokud do tohoto kroku nepřijdou všichni Vusers, aby bylo možné provést následující požadavek současně.
dvacet jedna) lr_load_dll (): Tato funkce se používá k načtení externí dll, která umožňuje Vuserovi volat externí funkci při přehrávání skriptu.
22) lr_save_searched_string (): Tato funkce vyhledá výskyt řetězce ve vyrovnávací paměti a uloží část vyrovnávací paměti po tomto řetězci do parametru.
V následujícím příkladu , třetí výskyt (číslo definované ve třetím atributu plus 1) řetězce „vše“ se prohledá ve vyrovnávací paměti a dalších 14 znaků (šestý atribut) se uloží do parametru (pátý atribut „1“ přeskočí mezeru po hledání ).
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): Hledaným podřetězcem jsou Kingovi muži.
2. 3) lr_vuser_status_message (): Tato funkce odesílá zprávu do stavové oblasti Vuser ovladače a do protokolu Vuser.
24) lr_next_row (): Tato funkce funguje na zadaném datovém souboru parametrů a slouží k posunu aktivního řádku na další řádek.
25) lr_advance_param (): Tato funkce umožňuje skriptu použít další dostupnou hodnotu parametru prací na názvech sloupců.
26) lr_start_timer () a lr_end_timer (): Tyto funkce se používají ke spuštění a zastavení časovače ve skriptu VuGen, který počítá plynutí času v sekundách.
27) lr_whoami (): Tato funkce vrací informace o Vuserovi (jako Vuser id, Vuser group).
28) lr_get_vuser_ip (): Tato funkce vrací adresu IPv4 uživatele Vuser.
29) lr_get_host_name (): Tato funkce vrací název stroje provádějícího skript.
30) lr_get_master_host_name (): Tato funkce vrací název stroje, na kterém běží ovladač.
31) lr_decrypt (): Tato funkce dešifruje kódovaný řetězec. Obvykle se používá k dešifrování hesel.
32) lr_continue_on_error (): Tato funkce určuje, jak zpracovat chyby, aby se pokračovalo v běhu, pokud dojde k chybě, nebo jak přerušit provádění skriptu.
************************************
V této části jsme podrobněji diskutovali o „předdefinovaných“ funkcích a funkcích „LoadRunner“.
V naší další části si povíme o funkcích LoadRunner „Specifické pro protokol“ a „C-jazyk“.
Funkce specifické pro protokol
Tyto funkce jsou specifické pro protokol, v naší diskusi se omezíme na diskusi o protokolu „Web-HTTP / HTML“ nebo jednoduše o funkcích specifických pro „Web“.
1) web_url (): Tato funkce načte webovou stránku určenou argumentem URL.
dva) web_submit_form (): Tato funkce odešle formulář. A tato funkce je zaznamenána pouze v režimu HTML a odesílá kontextově závislý požadavek (o kontextově citlivých a bezkontextových požadavcích jsme již hovořili).
Viz příklad níže:
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 (): Tato funkce odešle formulář „bez kontextu“. Tato funkce je zaznamenána pouze v režimu záznamu založeného na URL nebo v režimu záznamu založeného na HTML se zaškrtnutou možností „Skript obsahující pouze explicitní adresy URL“.
Viz příklad níže:
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 (): Tato funkce se používá k vytvoření vlastního požadavku HTTP pomocí jakékoli metody nebo těla.
5) web_concurrent_start () a web_concurrent_end (): Tyto funkce se používají k označení začátku a konce souběžné skupiny. Všechny funkce ve skupině (uzavřené mezi těmito funkcemi) jsou prováděny souběžně.
6) web_reg_save_param (): Jak již bylo vidět, jedná se o hraniční korelační funkci.
7) web_reg_save_param_ex (): Toto je také hraniční korelační funkce, která je vylepšenou verzí funkce web_reg_save_param.
8) web_reg_find (): Jak již bylo vidět, tato funkce se používá pro kontrolu textu.
9) web_image_check (): Jak již bylo vidět, tato funkce se používá pro kontrolu obrazu.
10) web_convert_param (): Tato funkce se používá k převodu textu HTML na prostý text nebo URL nebo prostého textu na URL. V níže uvedeném příkladu tyto funkce převádějí obsah parametru „ParamName“ z formátu HTML do formátu URL.
Příklad:
web_convert_param („ParamName“, „SourceEncoding = HTML“, „TargetEncoding = URL“, POSLEDNÍ);
jedenáct) web_get_int_property (): Tato funkce vrací konkrétní informace (jako je stavový kód, velikost stahování atd.) O předchozím požadavku HTTP. V níže uvedeném příkladu se tato funkce používá k vrácení stavového kódu HTTP a velikosti stahování.
Pří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 spuštěno (MsgId: MMSG-26355)
Action.c (17): web_get_int_property byl úspěšný (MsgId: MMSG-26392)
Action.c (18): Stavový kód HTTP je 200
Action.c (20): web_get_int_property spuštěno (MsgId: MMSG-26355)
Action.c (20): web_get_int_property byl úspěšný (MsgId: MMSG-26392)
Action.c (21): Velikost stahování je 12891 bajtů
12) web_set_max_html_param_len (): Tato funkce se používá k nastavení maximální délky libovolného řetězce HTML, který lze načíst a uložit do parametru. Výchozí hodnota pro maximální délku parametru, který lze zachytit během korelace, je 256 znaků. Tato funkce se používá k načtení řetězce delšího než 256 znaků.
13) web_cache_cleanup (): Tato funkce se používá k vymazání mezipaměti. Pokud je na kartě Nastavení běhového prostředí - Emulace prohlížeče povolena možnost „Simulovat nového uživatele každou iteraci“, je tato funkce automaticky volána na začátku každé iterace.
14) web_cleanup_cookies (): Tato funkce vymaže všechny soubory cookie, které jsou aktuálně uloženy Vuserem.
patnáct) web_add_cookie (): Tato funkce přidává nový soubor cookie.
16) web_add_header (): Tato funkce přidá uživatelem definovanou hlavičku k dalšímu požadavku HTTP.
17) web_save_timestamp_param (): Tato funkce uloží aktuální místní časovou značku počítače, na kterém je spuštěn skript. Toto je 13místné číslo a hodnotou je počet milisekund od půlnoci 1. ledna 1970.
Příklad:
web_save_timestamp_param('currentTimeStamp', LAST ); lr_output_message(lr_eval_string('Timestamp: {currentTimeStamp}'));
Action.c (5): Časové razítko: 1529249235582
18) web_set_user (): Tato funkce určuje přihlašovací hodnotu a heslo pro webový server nebo proxy server. Když se přihlásíme na server, který vyžaduje uživatelské jméno a heslo, tato funkce se vygeneruje.
19) web_set_proxy (): Tato funkce se používá k instruování Vusera, aby nasměroval všechny požadavky HTTP na zadaný Proxy server .
dvacet) web_set_certificate (): Tato funkce se používá k instruování Vusera, aby použil konkrétní certifikát z registru internetového prohlížeče (kdykoli zabezpečený webový server vyžaduje, aby klient předložil certifikát).
Například, následující funkce dává Vuserovi pokyn použít druhý certifikát z registru internetového prohlížeče.
web_set_certificate('2');
dvacet jedna) web_set_sockets_option (): Tato funkce se používá ke konfiguraci různých možností pro zásuvky na klientském počítači.
SSL_VERSION - verze SSL: „2“, „3“, „2 a 3“, „TLS“, „TLS1.1“ nebo „TLS1.2“.
MAX_CONNECTIONS_PER_HOST - Maximální počet souběžných připojení na hostitele.
CLOSE_KEEPALIVE_CONNECTIONS - Uzavře všechna otevřená připojení.
Funkce jazyka C
Jedná se o funkce „C“, které se používají k vylepšení skriptů VuGen pro konkrétní scénáře.
1) strcpy (): Tato funkce kopíruje jeden řetězec do druhého.
Pří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 řetězci je: Toto je řetězec
dva) strcmp (): Tato funkce porovnává dva řetězce a vrací hodnotu, která označuje lexikografický vztah mezi nimi („= 0“, pokud jsou řetězce stejné, „0“, pokud je první řetězec větší než druhý řetězec).
Pří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): Řetězce nejsou stejné.
3) strlen (): Tato funkce vrací délku řetězce v bajtech.
4) strcat (): Tato funkce zřetězí dva řetězce.
Příklad:
char String(100)= 'Star'; strcat (String,'Wars'); lr_output_message('The final string is: %s',String);
Action.c (10): Poslední řetězec je StarWars.
5) strtok (): Jak již bylo vidět, tato funkce vrací token z řetězce odděleného zadanými znaky.
6) atoi (): Jak již bylo vidět, tato funkce převádí řetězec C na celé číslo C.
7) atof (): Tato funkce převádí řetězec C na float C.
8) itoa (): Tato funkce převádí celé číslo C na řetězec C.
Příklad:
int x=1; char y(100); itoa (x,y,10); lr_output_message('The string is: %s',y);
Action.c (8): Řetězec je: 1
9) fopen (): Tato funkce se používá k otevření ukazatele souboru.
10) fclose (): Tato funkce se používá k uzavření ukazatele souboru.
jedenáct) fread (): Tato funkce čte neformátovaná data z proudu do vyrovnávací paměti.
12) fwrite (): Tato funkce zapisuje neformátovaná data z vyrovnávací paměti do proudu.
13) fprintf (): Jak již bylo vidět, tato funkce zapisuje formátovaný výstup do souboru.
14) sprint(): Tato funkce zapíše formátovaný výstup na řetězec.
Pří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ázev souboru je log_84.txt
Závěr
Z tohoto kurzu jsme se dozvěděli více o důležitých předdefinovaných funkcích LoadRunner.
Tyto funkce se postarají o téměř všechny důležité scénáře, se kterými se v aplikacích v reálném čase obvykle setkáváme. Doporučuje se, abyste v nápovědě k VuGen odkazovali na „Reference funkcí“, kde najdete další podrobnosti o těchto funkcích.
V našem připravovaném výukovém programu se dozvíte více o skriptování webových služeb pomocí nástroje LoadRunner.
=> Navštivte zde a získejte kompletní řadu tutoriálů LoadRunner
Výukový program PREV | DALŠÍ výuka
Doporučené čtení
- Testování výkonu webových služeb pomocí skriptování LoadRunner VuGen
- Funkce data a času v C ++ s příklady
- Výukový program Python DateTime s příklady
- Funkce v C ++ s typy a příklady
- Testování zátěže s výukovými programy HP LoadRunner
- Funkce Pythonu
- Funkce řetězce Python
- Možnosti nahrávání VUGen v LoadRunneru