important loadrunner functions used vugen scripts with examples
Fonctions LoadRunner importantes utilisées principalement dans les scripts VuGen avec syntaxe et exemples:
Défis de scripts VuGen ont été expliqués en détail dans notre précédent tutoriel dans le Série de formation gratuite LoadRunner en ligne .
Dans notre parcours avec le LoadRunner VuGen, jusqu'à présent, nous sommes tombés sur de nombreuses fonctions prédéfinies (et bien sûr, nous avons également vu comment écrire nos propres fonctions).
Dans ce didacticiel, nous énumérerons et parlerons brièvement des fonctions LoadRunner 'prédéfinies' importantes, spécifiques au protocole et en langage C que nous utilisons principalement dans les scripts / scénarios VuGen.
=> Cliquez ici pour une série complète de didacticiels LoadRunner
Classons ces fonctions en trois catégories:
- Fonctions LoadRunner (LR)
- Fonctions spécifiques au protocole (Web - HTTP / HTML)
- Fonctions du langage C
Explorons un par un!
Ce que vous apprendrez:
- Fonctions LoadRunner (LR)
- Fonctions spécifiques au protocole
- Fonctions du langage C
- Conclusion
- lecture recommandée
Fonctions LoadRunner (LR)
Ces fonctions sont les fonctions générales de LoadRunner communes à tous les protocoles:
1) lr_eval_string (): Comme déjà vu, cette fonction renvoie la chaîne d'entrée après avoir évalué les paramètres incorporés.
deux) lr_eval_string_ext (): Cette fonction crée un tampon et l'affecte à la chaîne d'entrée après avoir évalué les paramètres intégrés.
3) lr_save_string (): Comme déjà vu, cette fonction affecte une valeur au paramètre / variable LR.
4) lr_save_int (): Cette fonction affecte un entier à un paramètre LR comme indiqué ci-dessous:
Exemple:
int number; number=8; lr_save_int(number,”numparam”);
Le paramètre «numparam» peut maintenant être utilisé comme tout autre paramètre LR.
5) lr_paramarr_random (): Comme déjà vu, cette fonction sélectionne au hasard l'une des valeurs d'un tableau de paramètres.
6) lr_paramarr_len (): Cette fonction renvoie le nombre d'éléments dans un tableau de paramètres.
Supposons que «cFlight» soit le tableau de paramètres ayant des valeurs de vol, l’exemple ci-dessous montre comment le nombre d’éléments de ce tableau peut être copié dans une variable.
Exemple:
int arrLen; arrLen = lr_paramarr_len('cFlight');
7) lr_paramarr_idx (): Cette fonction donne la valeur du paramètre à un emplacement spécifié dans un tableau de paramètres. Un exemple illustré ci-dessous enregistre la troisième valeur du tableau de paramètres dans une variable.
Exemple:
char * flightVal; flightVal = lr_paramarr_idx('cFlight', 3);
8) lr_db_connect () : Il s'agit d'une fonction de base de données utilisée pour se connecter à une base de données.
9) lr_db_disconnect () : Il s'agit d'une fonction de base de données utilisée pour se déconnecter d'une base de données.
dix) lr_start_transaction () et lr_end_transaction (): Comme déjà vu, ces fonctions sont utilisées pour démarrer et terminer (respectivement) une transaction.
Onze) lr_message () : Il s'agit d'une fonction de message utilisée pour envoyer un (des) message (s) au journal et à la fenêtre de sortie.
12) lr_output_message (): Il s'agit d'une fonction de message utilisée pour envoyer le (s) message (s) avec des détails tels que la section de script et le numéro de ligne aux fenêtres de sortie, aux fichiers journaux et à d'autres résumés de rapport de test.
13) lr_log_message () : Il s'agit d'une fonction de message utilisée pour envoyer un (des) message (s) au fichier journal Vuser ou agent et non à la fenêtre de sortie.
14) lr_error_message (): Il s'agit d'une fonction de message utilisée pour envoyer un ou plusieurs messages aux fenêtres de sortie, aux fichiers journaux et à d'autres résumés des rapports de test.
quinze) lr_save_datetime (): Cette fonction enregistre la date et l'heure actuelles (ou la date et l'heure avec le décalage spécifié) dans un paramètre qui peut être utilisé dans notre script en cas de besoin.
Exemple:
lr_save_datetime('Today’s date is %B %d %Y', DATE_NOW , 'today'); lr_output_message(lr_eval_string('{today}'));
Action.c (4): La date d'aujourd'hui est le 09 juin 2018
Ci-dessous, un autre exemple où le décalage d'un jour est utilisé:
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): La date de demain est le 10 juin 2018
16) lr_set_debug_message (): Cette fonction modifie le niveau de journalisation des messages (pour une partie du script) par rapport à ce qui est défini dans les paramètres d'exécution. Comme indiqué ci-dessous, une trace complète est activée uniquement pour la requête «index.htm» (même si le niveau de journalisation est défini sur «Journal standard» dans les paramètres d’exécution).
Exemple:
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 (): Cette fonction abandonne l’exécution du script après l’exécution de la section ‘vuser_end’. Cette fonction est utile lorsque nous devons abandonner manuellement le script en raison d'une condition d'erreur spécifique.
18) lr_exit (): Cette fonction demande à Vuser de quitter l’exécution du script pendant l’exécution et de continuer selon les «Options de poursuite du script» spécifiées.
Dans l'exemple suivant, cette fonction demande à Vuser d'arrêter l'itération d'exécution du script global en cours et de démarrer l'itération suivante.
lr_exit(LR_EXIT_MAIN_ITERATION_AND_CONTINUE, LR_AUTO);
Voici une liste d'autres options de continuation de script:
- LR_EXIT_VUSER - Quittez sans aucune condition et passez directement à l'action vuser_end.
- LR_EXIT_ACTION_AND_CONTINUE - Arrêtez l'action en cours et passez à l'action suivante.
- LR_EXIT_ITERATION_AND_CONTINUE - Arrêtez l'itération en cours et passez à l'itération suivante.
- LR_EXIT_VUSER_AFTER_ITERATION - Quittez une fois l'exécution de l'itération en cours terminée.
- LR_EXIT_VUSER_AFTER_ACTION - Quitter une fois l'exécution de l'action en cours terminée.
19) lr_think_time (): Cette fonction permet à un Vuser de faire une pause pendant un temps défini entre les étapes / actions sur le script VuGen. Il s'agit de simuler le comportement réel de l'utilisateur en pensant pendant un certain temps entre les actions / étapes sur une application.
Par exemple, ce qui suit fait attendre un Vuser pendant 10 secondes…
lr_think_time(10);
vingt) lr_rendezvous (): Comme déjà vu, cette fonction demande au LoadRunner d'attendre à une étape spécifiée dans le script jusqu'à ce que tous les Vusers arrivent à cette étape afin que la requête suivante puisse être exécutée simultanément.
vingt-et-un) lr_load_dll (): Cette fonction est utilisée pour charger une DLL externe permettant à un Vuser d'appeler une fonction externe lors de la relecture du script.
22) lr_save_searched_string (): Cette fonction recherche une occurrence d'une chaîne dans un tampon et enregistre une partie du tampon après cette chaîne dans un paramètre.
Dans l'exemple suivant , la troisième occurrence (numéro défini dans le troisième attribut plus 1) de la chaîne «tout» est recherchée dans le tampon et les 14 caractères suivants (sixième attribut) sont enregistrés dans un paramètre (le cinquième attribut «1» saute l'espace après la recherche ).
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): La sous-chaîne recherchée est celle des hommes du roi.
2. 3) lr_vuser_status_message (): Cette fonction envoie un message à la zone d'état Vuser du contrôleur et au journal Vuser.
24) lr_next_row (): Cette fonction fonctionne sur le fichier de données de paramètres spécifié et est utilisée pour faire avancer une ligne active à la ligne suivante.
25) lr_advance_param (): Cette fonction permet au script d'utiliser la prochaine valeur disponible du paramètre en travaillant sur les noms de colonne.
26) lr_start_timer () et lr_end_timer (): Ces fonctions sont utilisées pour démarrer et arrêter une minuterie dans un script VuGen qui calcule le passage du temps en secondes.
27) lr_whoami (): Cette fonction renvoie des informations sur le Vuser (comme l'ID de Vuser, le groupe Vuser).
28) lr_get_vuser_ip (): Cette fonction renvoie l'adresse IPv4 d'un Vuser.
29) lr_get_host_name (): Cette fonction renvoie le nom de la machine exécutant le script.
30) lr_get_master_host_name (): Cette fonction renvoie le nom de la machine exécutant le contrôleur.
31) lr_decrypt (): Cette fonction décrypte une chaîne codée. Il est généralement utilisé pour décrypter les mots de passe.
32) lr_continue_on_error (): Cette fonction spécifie comment gérer les erreurs pour continuer à s'exécuter si une erreur se produit ou pour abandonner l'exécution du script.
***********************************
Dans cette section, nous avons discuté plus en détail des fonctions «prédéfinies» et des fonctions «LoadRunner».
Dans notre section suivante, nous parlerons des fonctions LoadRunner «Protocol Specific» et «C-Language».
Fonctions spécifiques au protocole
Ces fonctions sont spécifiques à un protocole, dans notre discussion, nous nous limiterons à discuter du protocole «Web-HTTP / HTML» ou simplement des fonctions spécifiques du protocole «Web».
1) web_url (): Cette fonction charge la page Web spécifiée par l'argument URL.
deux) web_submit_form (): Cette fonction soumet un formulaire. Et cette fonction n'est enregistrée qu'en mode HTML et soumet une requête contextuelle (nous avons déjà parlé de requêtes contextuelles et sans contexte).
Voir l'exemple ci-dessous:
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 (): Cette fonction soumet un formulaire «sans contexte». Cette fonction n'est enregistrée qu'en mode d'enregistrement basé sur URL ou en mode d'enregistrement HTML avec l'option «Un script contenant uniquement des URL explicites» cochée.
Voir l'exemple ci-dessous:
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 (): Cette fonction est utilisée pour créer une requête HTTP personnalisée à l'aide de n'importe quelle méthode ou corps.
5) web_concurrent_start () et web_concurrent_end (): Ces fonctions sont utilisées pour marquer le début et la fin (respectivement) d'un groupe simultané. Toutes les fonctions d'un groupe (entre ces fonctions) sont exécutées simultanément.
6) web_reg_save_param (): Comme déjà vu, il s'agit d'une fonction de corrélation basée sur les limites.
7) web_reg_save_param_ex (): Il s'agit également d'une fonction de corrélation basée sur les limites qui est une version améliorée de la fonction web_reg_save_param.
8) web_reg_find (): Comme déjà vu, cette fonction est utilisée pour la vérification de texte.
9) web_image_check (): Comme déjà vu, cette fonction est utilisée pour la vérification d'image.
dix) web_convert_param (): Cette fonction est utilisée pour convertir du texte HTML en texte brut ou URL, ou du texte brut en URL. Dans l'exemple ci-dessous, ces fonctions convertissent le contenu du paramètre ‘ParamName’ du format HTML au format URL.
Exemple:
web_convert_param («ParamName», «SourceEncoding = HTML», «TargetEncoding = URL», LAST);
Onze) web_get_int_property (): Cette fonction renvoie des informations spécifiques (comme le code d'état, la taille du téléchargement, etc.) sur la requête HTTP précédente. Dans l'exemple ci-dessous, cette fonction est utilisée pour renvoyer le code d'état HTTP et la taille de téléchargement.
convertisseur youtube en mp4 gratuit en ligne
Exemple:
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 démarré (MsgId: MMSG-26355)
Action.c (17): web_get_int_property a réussi (MsgId: MMSG-26392)
Action.c (18): Le code d'état HTTP est 200
Action.c (20): web_get_int_property démarré (MsgId: MMSG-26355)
Action.c (20): web_get_int_property a réussi (MsgId: MMSG-26392)
Action.c (21): La taille du téléchargement est de 12891 octets
12) web_set_max_html_param_len (): Cette fonction est utilisée pour définir la longueur maximale de toute chaîne HTML pouvant être récupérée et enregistrée dans un paramètre. La valeur par défaut de la longueur maximale d'un paramètre qui peut être capturé pendant la corrélation est de 256 caractères. Cette fonction est utilisée pour récupérer une chaîne de plus de 256 caractères.
13) web_cache_cleanup (): Cette fonction est utilisée pour vider le cache. Dans l'onglet 'Émulation du navigateur' des paramètres d'exécution, si l'option 'Simuler un nouvel utilisateur à chaque itération' est activée, cette fonction est automatiquement appelée au début de chaque itération.
14) web_cleanup_cookies (): Cette fonction efface tous les cookies actuellement stockés par le Vuser.
quinze) web_add_cookie (): Cette fonction ajoute un nouveau cookie.
16) web_add_header (): Cette fonction ajoute un en-tête défini par l'utilisateur à la prochaine requête HTTP.
17) web_save_timestamp_param (): Cette fonction enregistre l'horodatage local actuel de l'ordinateur exécutant le script. Il s'agit d'un nombre à 13 chiffres et la valeur correspond au nombre de millisecondes depuis le 1er janvier 1970 à minuit.
Exemple:
web_save_timestamp_param('currentTimeStamp', LAST ); lr_output_message(lr_eval_string('Timestamp: {currentTimeStamp}'));
Action.c (5): Horodatage: 1529249235582
18) web_set_user (): Cette fonction spécifie une valeur de connexion et un mot de passe pour un serveur Web ou un serveur proxy. Lorsque nous nous connectons à un serveur nécessitant un nom d'utilisateur et un mot de passe, cette fonction est générée.
19) web_set_proxy (): Cette fonction est utilisée pour demander à Vuser de diriger toutes les requêtes HTTP vers le Serveur proxy .
vingt) web_set_certificate (): Cette fonction est utilisée pour demander à Vuser d'utiliser un certificat spécifique du registre d'Internet Explorer (chaque fois qu'un serveur Web sécurisé demande au client de présenter un certificat).
Par exemple, la fonction suivante demande au Vuser d'utiliser le deuxième certificat du registre d'Internet Explorer.
web_set_certificate('2');
vingt-et-un) web_set_sockets_option (): Cette fonction est utilisée pour configurer diverses options pour les sockets sur la machine cliente.
SSL_VERSION - Version SSL: «2», «3», «2 & 3», «TLS», «TLS1.1» ou «TLS1.2».
MAX_CONNECTIONS_PER_HOST - Le nombre maximum de connexions simultanées par hôte.
CLOSE_KEEPALIVE_CONNECTIONS - Ferme toutes les connexions ouvertes.
Fonctions du langage C
Ce sont les fonctions «C» qui sont utilisées pour améliorer les scripts VuGen pour des scénarios spécifiques.
1) strcpy (): Cette fonction copie une chaîne dans une autre.
Exemple:
char String(100); strcpy (String,'This is a string'); lr_output_message('The content in String is : %s', String);
Action.c (8): Le contenu de String est: Ceci est une chaîne
deux) strcmp (): Cette fonction compare deux chaînes et renvoie une valeur qui indique la relation lexicographique entre elles («= 0» si les chaînes sont identiques, «0» si la première chaîne est supérieure à une deuxième chaîne).
Exemple:
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): Les cordes ne sont pas les mêmes.
3) strlen (): Cette fonction renvoie la longueur d'une chaîne en octets.
4) strcat (): Cette fonction concatène deux chaînes.
Exemple:
char String(100)= 'Star'; strcat (String,'Wars'); lr_output_message('The final string is: %s',String);
Action.c (10): La dernière chaîne est StarWars.
5) strtok (): Comme déjà vu, cette fonction renvoie un jeton à partir d'une chaîne délimitée par des caractères spécifiés.
6) atoi (): Comme déjà vu, cette fonction convertit une chaîne C en un entier C.
7) atof (): Cette fonction convertit une chaîne C en un flottant C.
8) itoa (): Cette fonction convertit un entier C en une chaîne C.
Exemple:
int x=1; char y(100); itoa (x,y,10); lr_output_message('The string is: %s',y);
Action.c (8): La chaîne est: 1
9) fopen (): Cette fonction est utilisée pour ouvrir un pointeur de fichier.
dix) fclose (): Cette fonction est utilisée pour fermer un pointeur de fichier.
Onze) fread (): Cette fonction lit les données non formatées d'un flux dans une mémoire tampon.
12) fwrite (): Cette fonction écrit les données non formatées d'un tampon dans un flux.
13) fprintf (): Comme déjà vu, cette fonction écrit la sortie formatée dans un fichier.
14) sprint(): Cette fonction écrit la sortie formatée dans une chaîne.
Exemple:
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): Le nouveau nom de fichier est log_84.txt
Conclusion
Grâce à ce didacticiel, nous en avons appris davantage sur les fonctions LoadRunner prédéfinies importantes.
Ces fonctions prennent en charge presque tous les scénarios importants que nous rencontrons généralement dans les applications en temps réel. Il est conseillé de se reporter à «Référence des fonctions» dans l’aide de VuGen pour plus de détails sur ces fonctions.
Dans notre prochain didacticiel, vous en apprendrez plus sur les scripts de services Web à l'aide de LoadRunner.
=> Visitez ici pour une série complète de didacticiels LoadRunner
Tutoriel PREV | Tutoriel SUIVANT
lecture recommandée
- Test des performances des services Web à l'aide du script LoadRunner VuGen
- Fonctions de date et d'heure en C ++ avec des exemples
- Tutoriel Python DateTime avec des exemples
- Fonctions en C ++ avec types et exemples
- Test de charge avec les didacticiels HP LoadRunner
- Fonctions Python
- Fonctions de chaîne Python
- Options d'enregistrement VUGen dans LoadRunner