important loadrunner functions used vugen scripts with examples
Vigtige LoadRunner-funktioner, der hovedsagelig bruges i VuGen-scripts med syntaks og eksempler:
VuGen Scripting Udfordringer blev forklaret detaljeret i vores tidligere tutorial i Online gratis LoadRunner-træningsserie .
På vores rejse med LoadRunner VuGen stødte vi hidtil over mange foruddefinerede funktioner (og selvfølgelig så vi også, hvordan vi skulle skrive vores egne funktioner).
I denne vejledning vil vi liste og tale kort om de vigtige 'foruddefinerede' LoadRunner-, protokolspecifikke og C-sprogfunktioner, som vi mest bruger i VuGen-scripts / scenarier.
=> Klik her for en komplet serie af LoadRunner-vejledninger
Lad os klassificere disse funktioner i tre kategorier:
- LoadRunner (LR) -funktioner
- Protokolspecifikke (Web - HTTP / HTML) funktioner
- C sprogfunktioner
Lad os udforske en efter en!
Hvad du vil lære:
- LoadRunner (LR) -funktioner
- Protokolspecifikke funktioner
- C Sprogfunktioner
- Konklusion
- Anbefalet læsning
LoadRunner (LR) -funktioner
Disse funktioner er de generelle LoadRunner-funktioner, der er fælles for alle protokoller:
1) lr_eval_string (): Som allerede set returnerer denne funktion inputstrengen efter evaluering af indlejrede parametre.
hvad betyder standardgateway ikke tilgængelig
to) lr_eval_string_ext (): Denne funktion opretter en buffer og tildeler den til inputstrengen efter evaluering af de integrerede parametre.
3) lr_save_string (): Som allerede set tildeler denne funktion en værdi til LR-parameteren / variablen.
4) lr_save_int (): Denne funktion tildeler et helt tal til en LR-parameter som vist nedenfor:
Eksempel:
int number; number=8; lr_save_int(number,”numparam”);
Parameteren 'numparam' kan nu bruges som enhver anden LR-parameter.
5) lr_paramarr_random (): Som allerede set vælger denne funktion tilfældigt en af værdierne fra et parameterarray.
6) lr_paramarr_len (): Denne funktion returnerer antallet af elementer i et parameterarray.
Antag, at 'cFlight' er parameter array, der har flyværdier, eksemplet nedenfor viser, hvordan antallet af elementer i denne array kan kopieres til en variabel.
Eksempel:
int arrLen; arrLen = lr_paramarr_len('cFlight');
7) lr_paramarr_idx (): Denne funktion giver værdien af parameteren på et bestemt sted i et parameterarray. Et eksempel vist nedenfor gemmer den tredje værdi af parameterarrayet til en variabel.
Eksempel:
char * flightVal; flightVal = lr_paramarr_idx('cFlight', 3);
8) lr_db_connect () : Dette er en databasefunktion, der bruges til at oprette forbindelse til en database.
9) lr_db_disconnect () : Dette er en database-funktion, der bruges til at afbryde forbindelsen til en database.
10) lr_start_transaction () og lr_end_transaction (): Som allerede set bruges disse funktioner til at starte og slutte (henholdsvis) en transaktion.
elleve) lr_message () : Dette er en meddelelsesfunktion, der bruges til at sende en eller flere meddelelser til loggen og outputvinduet.
12) lr_output_message (): Dette er en meddelelsesfunktion, der bruges til at sende meddelelsen (e) med detaljer som scriptafsnittet og linjenummer til outputvinduer, logfiler og andre testrapportoversigter.
13) lr_log_message () : Dette er en meddelelsesfunktion, der bruges til at sende en eller flere beskeder til Vuser- eller agentlogfilen og ikke til outputvinduet.
14) lr_error_message (): Dette er en meddelelsesfunktion, der bruges til at sende en eller flere beskeder til outputvinduerne, logfiler og andre testrapportsammendrag.
femten) lr_save_datetime (): Denne funktion gemmer den aktuelle dato og klokkeslæt (eller datoen og klokkeslættet med den angivne forskydning) i en parameter, der kan bruges i vores script efter behov.
Eksempel:
lr_save_datetime('Today’s date is %B %d %Y', DATE_NOW , 'today'); lr_output_message(lr_eval_string('{today}'));
Action.c (4): Dagens dato er 9. juni 2018
Nedenfor er et andet eksempel, hvor forskydningen af en dag bruges:
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): Morgendagens dato er 10. juni 2018
16) lr_set_debug_message (): Denne funktion ændrer niveauet for meddelelseslogning (for en del af scriptet) fra det, der er indstillet i indstillingerne for kørselstid. Som vist nedenfor er et fuldt spor kun aktiveret for 'index.htm' anmodning (selvom logniveauet er indstillet til 'Standardlog' i indstillingerne for kørselstid).
Eksempel:
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 (): Denne funktion afbryder udførelsen af scriptet efter at have udført afsnittet 'vuser_end'. Denne funktion er nyttig, når vi har brug for manuelt at afbryde scriptet på grund af en bestemt fejltilstand.
18) lr_exit (): Denne funktion instruerer Vuser om at afslutte scriptkørslen under udførelse og fortsætte i henhold til de angivne 'Script Continuation Options'.
I det følgende eksempel, denne funktion instruerer Vuser om at stoppe den aktuelle globale scriptkørsel iteration og starte den næste iteration.
lr_exit(LR_EXIT_MAIN_ITERATION_AND_CONTINUE, LR_AUTO);
Her er en liste over andre muligheder for fortsættelse af script:
- LR_EXIT_VUSER - Afslut uden nogen betingelse og gå direkte til vuser_end-handling.
- LR_EXIT_ACTION_AND_CONTINUE - Stop den aktuelle handling, og gå til den næste handling.
- LR_EXIT_ITERATION_AND_CONTINUE - Stop den aktuelle iteration og gå til den næste iteration.
- LR_EXIT_VUSER_AFTER_ITERATION - Afslut, når den aktuelle iterationskørsel er afsluttet.
- LR_EXIT_VUSER_AFTER_ACTION - Afslut, når den aktuelle handlingskørsel er afsluttet.
19) lr_think_time (): Denne funktion giver en Vuser mulighed for at holde pause i et defineret tidsrum mellem trin / handlinger på VuGen-scriptet. Dette er for at simulere den virkelige brugeradfærd ved at tænke i nogen tid mellem handlinger / trin i en applikation.
For eksempel, det følgende får en Vuser til at vente i 10 sekunder ...
lr_think_time(10);
tyve) lr_rendezvous (): Som allerede set instruerer denne funktion LoadRunner til at vente på et bestemt trin i scriptet, indtil alle Vusere kommer til dette trin, så efterfølgende anmodning kan udføres samtidigt.
enogtyve) lr_load_dll (): Denne funktion bruges til at indlæse en ekstern dll, der gør det muligt for en Vuser at kalde en ekstern funktion, når man gentager scriptet.
22) lr_save_searched_string (): Denne funktion søger efter en forekomst af en streng i en buffer og gemmer en del af bufferen efter denne streng i en parameter.
I det følgende eksempel , tredje forekomst (nummer defineret i den tredje attribut plus 1) af strengen 'alle' søges i bufferen, og de næste 14 tegn (sjette attribut) gemmes i en parameter (femte attribut '1' springer mellemrummet efter søgningen ).
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): Den søgte understreng er kongens mænd.
2. 3) lr_vuser_status_message (): Denne funktion sender en besked til Vuser-statusområdet på controlleren og til Vuser-loggen.
24) lr_next_row (): Denne funktion fungerer på den angivne parameterdatafil og bruges til at komme en aktiv række videre til næste række.
25) lr_advance_param (): Denne funktion gør scriptet til at bruge den næste tilgængelige værdi af parameteren ved at arbejde på kolonnenavne.
26) lr_start_timer () og lr_end_timer (): Disse funktioner bruges til at starte og stoppe en timer i et VuGen-script, der beregner tidens gang i sekunder.
27) lr_whoami (): Denne funktion returnerer information om Vuser (som Vuser-id, Vuser-gruppe).
28) lr_get_vuser_ip (): Denne funktion returnerer IPv6-adressen på en Vuser.
29) lr_get_host_name (): Denne funktion returnerer navnet på den maskine, der udfører scriptet.
30) lr_get_master_host_name (): Denne funktion returnerer navnet på den maskine, der kører controlleren.
31) lr_decrypt (): Denne funktion dekrypterer en kodet streng. Det bruges generelt til at dekryptere adgangskoder.
32) lr_continue_on_error (): Denne funktion specificerer, hvordan der skal håndteres fejl for at fortsætte med at køre, hvis der opstår en fejl eller afbryde scriptudførelsen.
***********************************
I dette afsnit diskuterede vi mere om 'foruddefinerede' funktioner og 'LoadRunner'-funktioner i detaljer.
I vores næste afsnit vil vi tale om LoadRunner 'Protocol Specific' og 'C-Language' funktioner.
Protokolspecifikke funktioner
Disse funktioner er specifikke for en protokol, i vores diskussion vil vi begrænse os til at diskutere 'Web-HTTP / HTML' protokol eller blot 'Web' protokolspecifikke funktioner.
1) web_url (): Denne funktion indlæser den webside, der er angivet af URL-argumentet.
to) web_submit_form (): Denne funktion sender en formular. Og denne funktion registreres kun i HTML-tilstand og sender en kontekstafhængig anmodning (vi har allerede talt om kontekstfølsomme og kontekstløse anmodninger).
Se eksempel nedenfor:
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 (): Denne funktion sender en 'kontekstfri' form. Denne funktion registreres kun i URL-baseret optagelsestilstand eller i HTML-baseret optagelsestilstand med 'Et script, der kun indeholder eksplicit URL-er' markeret.
Se eksemplet nedenfor:
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 (): Denne funktion bruges til at oprette en brugerdefineret HTTP-anmodning ved hjælp af en hvilken som helst metode eller krop.
5) web_concurrent_start () og web_concurrent_end (): Disse funktioner bruges til at markere henholdsvis begyndelsen og slutningen af en samtidig gruppe. Alle funktionerne i en gruppe (lukket mellem disse funktioner) udføres samtidigt.
6) web_reg_save_param (): Som allerede set er dette en grænsebaseret korrelationsfunktion.
7) web_reg_save_param_ex (): Dette er også en grænsebaseret korrelationsfunktion, som er en forbedret version af web_reg_save_param-funktionen.
8) web_reg_find (): Som allerede set bruges denne funktion til tekstkontrol.
9) web_image_check (): Som allerede set bruges denne funktion til billedkontrol.
10) web_convert_param (): Denne funktion bruges til at konvertere HTML-tekst til almindelig tekst eller URL eller almindelig tekst til URL. I nedenstående eksempel konverterer disse funktioner indholdet af parameteren 'ParamName' fra HTML-format til URL-format.
Eksempel:
web_konvert_param (“ParamName”, “SourceEncoding = HTML”, “TargetEncoding = URL”, SIDSTE);
elleve) web_get_int_property (): Denne funktion returnerer specifik information (som statuskode, downloadstørrelse osv.) Om den tidligere HTTP-anmodning. I eksemplet vist nedenfor bruges denne funktion til at returnere HTTP-statuskode og downloadstørrelse.
Eksempel:
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 startet (MsgId: MMSG-26355)
Action.c (17): web_get_int_property lykkedes (MsgId: MMSG-26392)
Action.c (18): HTTP-statuskoden er 200
Action.c (20): web_get_int_property startet (MsgId: MMSG-26355)
Action.c (20): web_get_int_property lykkedes (MsgId: MMSG-26392)
Action.c (21): Downloadstørrelsen er 12891 byte
12) web_set_max_html_param_len (): Denne funktion bruges til at indstille den maksimale længde for enhver HTML-streng, der kan hentes og gemmes i en parameter. Standardværdien for den maksimale længde af en parameter, der kan fanges under korrelation, er 256 tegn. Denne funktion bruges til at hente en streng, der er længere end 256 tegn.
13) web_cache_cleanup (): Denne funktion bruges til at rydde cachen. I runtime-indstillinger-fanen Browseremulering, hvis 'Simuler en ny bruger hver iteration' er aktiveret, kaldes denne funktion automatisk i begyndelsen af hver iteration.
14) web_cleanup_cookies (): Denne funktion rydder alle de cookies, der i øjeblikket er gemt af Vuser.
femten) web_add_cookie (): Denne funktion tilføjer en ny cookie.
16) web_add_header (): Denne funktion føjer en brugerdefineret header til den næste HTTP-anmodning.
17) web_save_timestamp_param (): Denne funktion gemmer det aktuelle lokale tidsstempel på den computer, der kører scriptet. Dette er et 13-cifret tal, og værdien er antallet af millisekunder siden midnat den 1. januar 1970.
Eksempel:
web_save_timestamp_param('currentTimeStamp', LAST ); lr_output_message(lr_eval_string('Timestamp: {currentTimeStamp}'));
Action.c (5): Tidsstempel: 1529249235582
18) web_set_user (): Denne funktion angiver en loginværdi og adgangskode til en webserver eller en proxyserver. Når vi logger ind på en server, der kræver brugernavn og adgangskode, genereres denne funktion.
19) web_set_proxy (): Denne funktion bruges til at instruere Vuser om at dirigere alle HTTP-anmodninger til det angivne Proxyserver .
tyve) web_set_certificate (): Denne funktion bruges til at instruere Vuser om at bruge et specifikt certifikat fra Internet Explorer-registreringsdatabasen (hver gang en sikker webserver kræver, at klienten præsenterer et certifikat).
For eksempel, den følgende funktion instruerer Vuser om at bruge det andet certifikat fra Internet Explorer-registreringsdatabasen.
web_set_certificate('2');
enogtyve) web_set_sockets_option (): Denne funktion bruges til at konfigurere forskellige muligheder for stikkontakter på klientmaskinen.
SSL_VERSION - SSL-version: '2', '3', '2 & 3', 'TLS', 'TLS1.1' eller 'TLS1.2'.
MAX_CONNECTIONS_PER_HOST - Det maksimale antal samtidige forbindelser pr. Vært.
CLOSE_KEEPALIVE_CONNECTIONS - Lukker alle åbne forbindelser.
C Sprogfunktioner
Dette er de 'C' funktioner, der bruges til at forbedre VuGen-scripts til specifikke scenarier.
1) strcpy (): Denne funktion kopierer en streng til en anden.
Eksempel:
char String(100); strcpy (String,'This is a string'); lr_output_message('The content in String is : %s', String);
Action.c (8): Indholdet i String er: Dette er en streng
to) strcmp (): Denne funktion sammenligner to strenge og returnerer en værdi, der angiver det leksikografiske forhold mellem dem ('= 0', hvis strenge er ens, '0', hvis den første streng er større end en anden streng).
Eksempel:
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): Strenge er ikke de samme.
3) strlen (): Denne funktion returnerer længden af en streng i byte.
4) strcat (): Denne funktion sammenkæder to strenge.
Eksempel:
bredde første søgning c ++
char String(100)= 'Star'; strcat (String,'Wars'); lr_output_message('The final string is: %s',String);
Action.c (10): Den sidste streng er StarWars.
5) strtok (): Som allerede set returnerer denne funktion et token fra en streng afgrænset af specificerede tegn.
6) atoi (): Som allerede set konverterer denne funktion en C-streng til et C-heltal.
7) atof (): Denne funktion konverterer en C-streng til en C-float.
8) itoa (): Denne funktion konverterer et C-heltal til en C-streng.
Eksempel:
int x=1; char y(100); itoa (x,y,10); lr_output_message('The string is: %s',y);
Action.c (8): Strengen er: 1
9) fopen (): Denne funktion bruges til at åbne en filmarkør.
10) fclose (): Denne funktion bruges til at lukke en filmarkør.
elleve) fread (): Denne funktion læser uformaterede data fra en stream ind i en buffer.
12) fwrite (): Denne funktion skriver uformaterede data fra en buffer til en stream.
13) fprintf (): Som allerede set skriver denne funktion formateret output til en fil.
14) sprint (): Denne funktion skriver formateret output til en streng.
Eksempel:
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): Det nye filnavn er log_84.txt
Konklusion
Fra denne vejledning lærte vi mere om de vigtige foruddefinerede LoadRunner-funktioner.
Disse funktioner tager sig af næsten alle de vigtige scenarier, som vi generelt støder på i realtidsapplikationer. Det tilrådes at se 'Funktionsreference' i VuGen-hjælp for yderligere detaljer om disse funktioner.
I vores kommende vejledning lærer du mere om Web Services Scripting ved hjælp af LoadRunner.
=> Besøg her for en komplet serie af LoadRunner-vejledninger
PREV-vejledning | NÆSTE vejledning
Anbefalet læsning
- Test af webtjenester præstation ved hjælp af LoadRunner VuGen Scripting
- Funktioner til dato og tid i C ++ med eksempler
- Python DateTime-tutorial med eksempler
- Funktioner i C ++ med typer og eksempler
- Load Testing med HP LoadRunner-vejledninger
- Python-funktioner
- Python-strengfunktioner
- VUGen-optagelsesindstillinger i LoadRunner