important loadrunner functions used vugen scripts with examples
Viktige LoadRunner-funksjoner som hovedsakelig brukes i VuGen-skript med syntaks og eksempler:
VuGen Scripting-utfordringer ble forklart i detalj i vår tidligere opplæring i Gratis gratis LoadRunner-treningsserie .
På vår reise med LoadRunner VuGen kom vi så langt over mange forhåndsdefinerte funksjoner (og selvfølgelig så vi også hvordan vi skulle skrive våre egne funksjoner).
I denne opplæringen vil vi liste opp og snakke kort om de viktige ‘forhåndsdefinerte’ LoadRunner, protokollspesifikke og C-språkfunksjonene som vi stort sett bruker i VuGen-skript / scenarier.
=> Klikk her for fullstendig serie med LoadRunner-veiledninger
La oss klassifisere disse funksjonene i tre kategorier:
- LoadRunner (LR) -funksjoner
- Protokollspesifikke (Web - HTTP / HTML) funksjoner
- C språkfunksjoner
La oss utforske en etter en!
Hva du vil lære:
- LoadRunner (LR) -funksjoner
- Protokollspesifikke funksjoner
- C Språkfunksjoner
- Konklusjon
- Anbefalt lesing
LoadRunner (LR) -funksjoner
Disse funksjonene er de generelle LoadRunner-funksjonene som er vanlige for alle protokoller:
1) lr_eval_string (): Som allerede sett, returnerer denne funksjonen inngangsstrengen etter å ha evaluert eventuelle innebygde parametere.
to) lr_eval_string_ext (): Denne funksjonen oppretter en buffer og tilordner den til inngangsstrengen etter evaluering av de innebygde parametrene.
3) lr_save_string (): Som allerede sett tilordner denne funksjonen en verdi til LR-parameteren / variabelen.
4) lr_save_int (): Denne funksjonen tilordner et heltall til en LR-parameter som vist nedenfor:
Eksempel:
int number; number=8; lr_save_int(number,”numparam”);
Parameteren ‘numparam’ kan nå brukes som en hvilken som helst annen LR-parameter.
5) lr_paramarr_random (): Som allerede sett, velger denne funksjonen tilfeldig en av verdiene fra en parameteroppstilling.
6) lr_paramarr_len (): Denne funksjonen returnerer antall elementer i en parameteroppstilling.
Anta at 'cFlight' er parameteren som har flyverdier, eksemplet nedenfor viser hvordan antall elementer i denne matrisen kan kopieres til en variabel.
Eksempel:
int arrLen; arrLen = lr_paramarr_len('cFlight');
7) lr_paramarr_idx (): Denne funksjonen gir verdien til parameteren på et spesifisert sted i en parameteroppstilling. Et eksempel vist nedenfor lagrer den tredje verdien av parameteroppsettet til en variabel.
Eksempel:
char * flightVal; flightVal = lr_paramarr_idx('cFlight', 3);
8) lr_db_connect () : Dette er en databasefunksjon som brukes til å koble til en database.
9) lr_db_disconnect () : Dette er en databasefunksjon som brukes til å koble fra en database.
10) lr_start_transaction () og lr_end_transaction (): Som allerede sett, brukes disse funksjonene til å starte og avslutte (henholdsvis) en transaksjon.
elleve) lr_message () : Dette er en meldingsfunksjon som brukes til å sende en eller flere meldinger til loggen og utgangsvinduet.
12) lr_output_message (): Dette er en meldingsfunksjon som brukes til å sende meldingen (e) med detaljer som skriptseksjonen og linjenummeret til utgangsvinduer, loggfiler og andre sammendrag av testrapporter.
1. 3) lr_log_message () : Dette er en meldingsfunksjon som brukes til å sende en melding (er) til Vuser- eller agentloggfilen og ikke til utgangsvinduet.
14) lr_error_message (): Dette er en meldingsfunksjon som brukes til å sende en melding (er) til utgangsvinduene, loggfilene og andre testrapportsammendrag.
femten) lr_save_datetime (): Denne funksjonen lagrer gjeldende dato og klokkeslett (eller dato og klokkeslett med den angitte forskyvningen) i en parameter som kan brukes i skriptet vårt når og når det er nødvendig.
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 annet eksempel der forskyvningen av en dag brukes:
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 funksjonen endrer meldingsloggingsnivået (for en del av skriptet) fra det som er angitt i innstillingene for kjøretid. Som vist nedenfor, er et fullstendig spor bare aktivert for forespørselen 'index.htm' (selv om loggnivået er satt til 'Standardlogg' i innstillingene for kjøretid).
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 funksjonen avbryter utførelsen av skriptet etter å ha utført delen “vuser_end”. Denne funksjonen er nyttig når vi trenger å avbryte skriptet manuelt på grunn av en spesifikk feiltilstand.
18) lr_exit (): Denne funksjonen instruerer Vuser om å avslutte skriptkjøringen under kjøringen og fortsette i henhold til 'Skript fortsettelsesalternativer' spesifisert.
I det følgende eksemplet, denne funksjonen instruerer Vuser om å stoppe den gjeldende globale skriptkjøringsoppgaven og starte neste iterasjon.
lr_exit(LR_EXIT_MAIN_ITERATION_AND_CONTINUE, LR_AUTO);
Her er en liste over andre alternativ for skriptfortsettelse:
- LR_EXIT_VUSER - Avslutt uten vilkår og gå direkte til vuser_end-handling.
- LR_EXIT_ACTION_AND_CONTINUE - Stopp gjeldende handling og gå til neste handling.
- LR_EXIT_ITERATION_AND_CONTINUE - Stopp gjeldende iterasjon og gå til neste iterasjon.
- LR_EXIT_VUSER_AFTER_ITERATION - Avslutt etter at gjeldende iterasjon er fullført.
- LR_EXIT_VUSER_AFTER_ACTION - Avslutt etter at gjeldende handlingsløp er fullført.
19) lr_think_time (): Denne funksjonen tillater en bruker å stoppe en definert tid mellom trinn / handlinger i VuGen-skriptet. Dette er for å simulere den virkelige brukeratferden ved å tenke i en periode mellom handlinger / trinn i et program.
For eksempel, det følgende får en Vuser til å vente i 10 sekunder ...
lr_think_time(10);
tjue) lr_rendezvous (): Som allerede sett instruerer denne funksjonen LoadRunner om å vente på et spesifisert trinn i skriptet til alle Vusers kommer til det trinnet, slik at etterfølgende forespørsel kan utføres samtidig.
tjueen) lr_load_dll (): Denne funksjonen brukes til å laste inn en ekstern dll, slik at en bruker kan ringe en ekstern funksjon når du spiller av skriptet.
22) lr_save_searched_string (): Denne funksjonen søker etter en forekomst av en streng i en buffer og lagrer en del av bufferen etter den strengen til en parameter.
I det følgende eksemplet , tredje forekomst (nummer definert i det tredje attributtet pluss 1) av strengen 'all' blir søkt i bufferen, og de neste 14 tegnene (sjette attributtet) lagres i en parameter (femte attributt '1' hopper over mellomrom etter søket ).
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økte understrengen er kongens menn.
2. 3) lr_vuser_status_message (): Denne funksjonen sender en melding til Vuser-statusområdet til kontrolleren og til Vuser-loggen.
24) lr_next_row (): Denne funksjonen fungerer på den angitte parameterdatafilen og brukes til å fremme en aktiv rad til neste rad.
25) lr_advance_param (): Denne funksjonen gjør at skriptet bruker neste tilgjengelige verdi av parameteren ved å jobbe med kolonnenavn.
separat kjetting hash-tabell c ++
26) lr_start_timer () og lr_end_timer (): Disse funksjonene brukes til å starte og stoppe en tidtaker i et VuGen-skript som beregner tidens gang i sekunder.
27) lr_whoami (): Denne funksjonen returnerer informasjon om Vuser (som Vuser-ID, Vuser-gruppe).
28) lr_get_vuser_ip (): Denne funksjonen returnerer IPv4-adressen til en bruker.
29) lr_get_host_name (): Denne funksjonen returnerer navnet på maskinen som utfører skriptet.
30) lr_get_master_host_name (): Denne funksjonen returnerer navnet på maskinen som kjører kontrolleren.
31) lr_decrypt (): Denne funksjonen dekrypterer en kodet streng. Det brukes vanligvis til å dekryptere passord.
32) lr_continue_on_error (): Denne funksjonen spesifiserer hvordan du skal håndtere feil for å fortsette å kjøre hvis det oppstår en feil eller for å avbryte skriptutførelsen.
**********************************
I denne delen diskuterte vi mer om ‘forhåndsdefinerte’ funksjoner og ‘LoadRunner’-funksjoner i detalj.
I vår neste seksjon vil vi snakke om LoadRunner 'Protocol Specific' og 'C-Language' funksjoner.
Protokollspesifikke funksjoner
Disse funksjonene er spesifikke for en protokoll. I diskusjonen vil vi begrense oss til å diskutere ‘Web-HTTP / HTML’ protokoll eller bare ‘Web’ protokollspesifikke funksjoner.
1) web_url (): Denne funksjonen laster inn nettsiden som er angitt av URL-argumentet.
to) web_submit_form (): Denne funksjonen sender inn et skjema. Og denne funksjonen er bare registrert i HTML-modus og sender inn en kontekstsensitiv forespørsel (vi har allerede snakket om kontekstsensitive og kontekstløse forespørsler).
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 funksjonen sender inn en 'kontekstfri' form. Denne funksjonen blir bare registrert i URL-basert opptaksmodus eller i HTML-basert opptaksmodus med alternativet “Et skript som bare inneholder eksplisitte URLer”.
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 funksjonen brukes til å lage en tilpasset HTTP-forespørsel ved hjelp av hvilken som helst metode eller kropp.
5) web_concurrent_start () og web_concurrent_end (): Disse funksjonene brukes til å markere henholdsvis begynnelsen og slutten på en samtidig gruppe. Alle funksjonene i en gruppe (lukket mellom disse funksjonene) utføres samtidig.
6) web_reg_save_param (): Som allerede sett er dette en grensebasert korrelasjonsfunksjon.
7) web_reg_save_param_ex (): Dette er også en grensebasert korrelasjonsfunksjon som er en forbedret versjon av web_reg_save_param-funksjonen.
8) web_reg_find (): Som allerede sett, brukes denne funksjonen til tekstkontroll.
9) web_image_check (): Som allerede sett, brukes denne funksjonen til bildesjekk.
10) web_convert_param (): Denne funksjonen brukes til å konvertere HTML-tekst til ren tekst eller URL, eller ren tekst til URL. I eksemplet nedenfor konverterer disse funksjonene innholdet til parameteren 'ParamName' fra HTML-format til URL-format.
Eksempel:
web_convert_param (“ParamName”, “SourceEncoding = HTML”, “TargetEncoding = URL”, SISTE);
elleve) web_get_int_property (): Denne funksjonen returnerer spesifikk informasjon (som statuskode, nedlastingsstørrelse osv.) Om forrige HTTP-forespørsel. I eksemplet vist nedenfor brukes denne funksjonen til å returnere HTTP-statuskode og nedlastingsstø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 var vellykket (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 var vellykket (MsgId: MMSG-26392)
hvordan du åpner en .bin fil
Action.c (21): Nedlastingsstørrelsen er 12891 byte
12) web_set_max_html_param_len (): Denne funksjonen brukes til å angi maksimal lengde på en HTML-streng som kan hentes og lagres i en parameter. Standardverdien for maksimal lengde på en parameter som kan fanges under korrelasjonen er 256 tegn. Denne funksjonen brukes til å hente en streng som er lengre enn 256 tegn.
1. 3) web_cache_cleanup (): Denne funksjonen brukes til å tømme hurtigbufferen. I 'Runtime-innstillinger-Nettleseremulering-fanen, hvis' Simuler en ny bruker hver iterasjon 'er aktivert, blir denne funksjonen automatisk kalt i begynnelsen av hver iterasjon.
14) web_cleanup_cookies (): Denne funksjonen sletter alle informasjonskapslene som for øyeblikket er lagret av brukeren.
femten) web_add_cookie (): Denne funksjonen legger til en ny informasjonskapsel.
16) web_add_header (): Denne funksjonen legger til en brukerdefinert overskrift i neste HTTP-forespørsel.
17) web_save_timestamp_param (): Denne funksjonen lagrer gjeldende lokale tidsstempel på datamaskinen som kjører skriptet. Dette er et 13-sifret nummer og verdien er antall millisekunder siden midnatt 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 funksjonen spesifiserer en påloggingsverdi og et passord for en webserver eller en proxy-server. Når vi logger på en server som krever brukernavn og passord, genereres denne funksjonen.
19) web_set_proxy (): Denne funksjonen brukes til å instruere Vuser om å dirigere alle HTTP-forespørsler til det angitte Proxy-server .
tjue) web_set_certificate (): Denne funksjonen brukes til å instruere Vuser om å bruke et bestemt sertifikat fra Internet Explorer-registeret (når en sikker webserver krever at klienten presenterer et sertifikat).
For eksempel, følgende funksjon instruerer Vuser om å bruke det andre sertifikatet fra Internet Explorer-registeret.
web_set_certificate('2');
tjueen) web_set_sockets_option (): Denne funksjonen brukes til å konfigurere forskjellige alternativer for stikkontakter på klientmaskinen.
SSL_VERSION - SSL-versjon: '2', '3', '2 & 3', 'TLS', 'TLS1.1' eller 'TLS1.2'.
MAX_CONNECTIONS_PER_HOST - Maksimalt antall samtidige tilkoblinger per vert.
CLOSE_KEEPALIVE_CONNECTIONS - Stenger alle åpne forbindelser.
C Språkfunksjoner
Dette er 'C' -funksjonene som brukes til å forbedre VuGen-skriptene for spesifikke scenarier.
1) strcpy (): Denne funksjonen kopierer en streng til en annen.
Eksempel:
char String(100); strcpy (String,'This is a string'); lr_output_message('The content in String is : %s', String);
Action.c (8): Innholdet i String er: Dette er en streng
to) strcmp (): Denne funksjonen sammenligner to strenger og returnerer en verdi som indikerer det leksikografiske forholdet mellom dem (‘= 0’ hvis strenger er like, ‘0’ hvis den første strengen er større enn en andre 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): Strenger er ikke det samme.
3) strlen (): Denne funksjonen returnerer lengden på en streng i byte.
4) strcat (): Denne funksjonen sammenkobler to strenger.
Eksempel:
char String(100)= 'Star'; strcat (String,'Wars'); lr_output_message('The final string is: %s',String);
Action.c (10): Den siste strengen er StarWars.
5) strtok (): Som allerede sett, returnerer denne funksjonen et token fra en streng avgrenset av spesifiserte tegn.
6) atoi (): Som allerede sett konverterer denne funksjonen en C-streng til et C-heltall.
7) atof (): Denne funksjonen konverterer en C-streng til en C-flottør.
8) itoa (): Denne funksjonen konverterer et C-heltall 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 funksjonen brukes til å åpne en filpeker.
10) fclose (): Denne funksjonen brukes til å lukke en filpeker.
elleve) fread (): Denne funksjonen leser uformaterte data fra en strøm til en buffer.
12) fwrite (): Denne funksjonen skriver uformaterte data fra en buffer til en strøm.
1. 3) fprintf (): Som allerede sett skriver denne funksjonen formatert utdata til en fil.
14) sprint (): Denne funksjonen skriver formatert utdata 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 filnavnet er log_84.txt
Konklusjon
Fra denne opplæringen lærte vi mer om de viktige forhåndsdefinerte LoadRunner-funksjonene.
Disse funksjonene tar vare på nesten alle viktige scenarier som vi vanligvis kommer over i sanntidsapplikasjoner. Det anbefales å henvise til “Funksjonsreferanse” i VuGen-hjelp for ytterligere detaljer om disse funksjonene.
I vår kommende opplæring vil du lære mer om skripting av Web Services ved hjelp av LoadRunner.
=> Besøk her for komplett serie med LoadRunner-opplæringsprogrammer
PREV Opplæring | NESTE veiledning
Anbefalt lesing
- Test av ytelsestjenester ved bruk av LoadRunner VuGen Scripting
- Funksjoner for dato og tid i C ++ med eksempler
- Python DateTime Tutorial med eksempler
- Funksjoner i C ++ med typer og eksempler
- Lastetesting med HP LoadRunner-opplæringsprogrammer
- Python-funksjoner
- Python-strengfunksjoner
- VUGen-opptaksalternativer i LoadRunner