Il existe des fonctions init, action et end. est-il possible d'avoir plusieurs méthodes d'action? Je veux qu'il s'exécute sur un thread d'exécution séparé.Action multiple pour le script Loadrunner?
Répondre
Oui, vous pouvez avoir plusieurs actions. Pendant l'enregistrement, vous pouvez spécifier une nouvelle action depuis la barre d'outils VUGen. Vous pouvez également tout enregistrer en "Action", puis éditer le script et créer vos propres actions et y coller du code.
Ajouter des actions dans VuGen est facile, mais cela ne vous permet pas de les exécuter en parallèle dans le même vuser. Si vous voulez exécuter des choses en parallèle, vous devez exécuter plus d'un vuser sur le contrôleur pour le script.
L'instanciation d'un nouveau thread dans un utilisateur est très difficile et nécessite l'utilisation de l'API Win pour la création de threads, ce qui n'est absolument pas recommandé.
Si vous souhaitez exécuter deux actions différentes en parallèle, utilisez plutôt plusieurs scripts. Vous ne serez pas en mesure de partager des variables ou des données entre les vusers tu.
La seule façon d'établir une sorte de communication entre VUsers est d'utiliser des points de rendez-vous en utilisant lr_rendezvous etc (à part le programme système utilisant une DLL qui utilise l'API Windows, comme l'a noté K. Sandell). – TheBlastOne
En attendant, j'ajouterais: Vous pouvez également utiliser le serveur de table virtuel (VTS) disponible gratuitement sur le site de support HP pour établir un moyen de communication facile entre les utilisateurs. – TheBlastOne
En ce qui concerne une action supplémentaire, vous pouvez éditer la configuration LR, à savoir default.usp et vos fichiers [project] .usr. Puis-je dire dès le départ que le débordement avec les fichiers de configuration peut être risqué et si vous le faites, faites d'abord une sauvegarde des fichiers ou du projet et procédez avec précaution. Cela dit, cela ne semble pas résoudre le problème de la «création d'une nouvelle action» qui n'est pas activée (bien que j'aimerais connaître l'ensemble des circonstances qui provoquent cela - @TheBlastOne indique que cela a à voir avec le protocole utilisé) .
Quoi qu'il en soit, modifiez votre default.usp pour ajouter une entrée de RulLogicRunRoot pour votre nouvelle action (par exemple Action2) et le configurer dans le cycle de vie d'exécution LR, comme suit:
default.usp
[RunLogicRunRoot:Action2]
MercIniTreeSectionName="Action2"
RunLogicObjectKind="Action" <-- "Action" in this case means LR object type
Name="Action2"
MercIniTreeFather="RunLogicRunRoot"
RunLogicActionType="VuserRun"
...
Profile Actions name=vuser_init,Action,Action2,vuser_end
...
RunLogicActionOrder="Action,Action2"
...
MercIniTreeSons="Action,Action2"
Je ne sais pas combien de votre [projet] fichier .usr vous devez modifier, mais vous devez définir l'action et interprète pour votre nouvelle action dans tous les cas:
[projet] .u sr
[Actions]
vuser_init=vuser_init.c
Action=Action.c
Action2=Action2.c
vuser_end=vuser_end.c
...
[Interpreters]
vuser_init=cci
Action=cci
Action2=cci
vuser_end=cci
...
Je ne suis pas sûr à quel point ce qui suit est nécessaire, mais il est probablement judicieux de créer une entrée pour chaque (selon le script d'action):
[Recorded Actions]
...
[Replayed Actions]
...
[Modified Actions]
Enfin, ne oubliez de créer un Action2.c (avec une fonction nommée de manière appropriée pour éviter le conflit avec Action.c) dans votre répertoire de projet. Rouvrez votre projet dans LR et il devrait contenir Action2 dans votre vue de scripts.
N.B. Désolé mais je ne peux pas vous aider avec votre question sur le filetage ... pas encore avancé.
Bien sûr, vous pouvez également ajouter des actions à tout moment en cliquant à droite dans la liste des actions et en sélectionnant "créer une nouvelle action" (peut être désactivé pour certains protocoles si je me souviens bien). – TheBlastOne
@TheBlastOne Savez-vous quels protocoles? J'ai une configuration utilisant les protocoles Oracle ("-Tier) et Web (HTTP/HTML) et je suis incapable de créer une nouvelle action et il n'y a pas de bouton équivalent dans le dialogue" Démarrer l'enregistrement " – wmorrison365
Vous pouvez également éditer le [projet] ] .usr et default.usp pour ajouter votre action.Voir ma réponse (pour pouvoir mettre en forme la sortie). – wmorrison365