Actions en QTP/UFT avec exemple

⚡ Résumé intelligent

Actions en UFT/QTP Divisez un script de test en unités logiques et réutilisables afin que les testeurs puissent créer, maintenir et partager plus rapidement des automatisations. Cette page explique les trois types d'actions, comment les diviser et les appeler, et comment transmettre des données entre les actions.

  • 🧩 Définition: Une action regroupe un ensemble d'étapes de test en une unité modulaire et réutilisable à l'intérieur d'un UFT/QTP scripts.
  • (I.e. Actions réutilisables : Appeler la même action plusieurs fois, dans le même test ou depuis n'importe quel autre test.
  • (I.e. Actions non réutilisables : À exécuter une seule fois, et uniquement à l'intérieur du test où elles ont été créées.
  • 🌐 Actions externes : Une action réutilisable devient externe en lecture seule lorsqu'elle est appelée par un autre test.
  • ✂️ Scission: Décomposez une action importante en actions sœurs indépendantes ou en une paire parent-enfant imbriquée.
  • 📞 Actions d'appel : Insérez une nouvelle action, une copie d'une action ou un appel à une action existante.
  • 📤 Paramètres: Transmettez les valeurs d'entrée et de sortie entre les actions à l'aide de l'instruction RunAction.
  • 🇧🇷 Fiches techniques: Utilisez la feuille Globale pour les données relatives à l'ensemble du test et la feuille Locale de chaque action pour les données privées.

Qu'est-ce qu'une action dans UFT/QTP?

Action in UFT/QTP Divisez un test en « unités logiques » ou « processus métier ». Chaque action regroupe les étapes qui réalisent une tâche identifiable, comme se connecter, rechercher un vol ou réserver un billet. Les actions permettent de créer un script plus modulaire et efficace.

Lorsqu'un script est créé, il ne contient qu'une seule action. Vous pouvez ajouter d'autres actions à votre script Micro Focus. UFT Le script est conforme aux exigences, et chaque action ajoutée conserve sa propre logique et ses données locales, séparées du reste du test.

Découper un long script en actions s'avère payant dès qu'un test doit être modifié. Un testeur peut ainsi mettre à jour une action, comme la séquence de connexion, sans toucher à la logique de recherche ou de paiement qui se trouve dans d'autres actions. Cette isolation transforme également les actions en modules réutilisables que d'autres scripts peuvent appeler au lieu de répéter les mêmes étapes.

Un script de réservation de vol classique, par exemple, se divise en trois actions distinctes : connexion, recherche de vol et réservation de billet. Chaque action possède ses propres étapes et données locales ; ainsi, un testeur qui doit uniquement vérifier la connexion n’a pas besoin d’enregistrer ni de gérer le processus de réservation.

Types d'actions dans UFT/QTPRéutilisables, non réutilisables et externes

UFT/QTP Il prend en charge trois types d'actions, et le type que vous choisissez détermine si une action peut être partagée entre plusieurs scripts ou si elle reste privée au test dans lequel elle a été créée.

type d'action Là où il peut courir Modifiable dans le test d'appel
Réutilisable Même test, plusieurs fois, ou tout autre test Oui, d'après le test qui en est propriétaire
Non réutilisable Uniquement le test où il a été créé, et une seule fois. Oui
Externe réutilisable Appelée depuis un autre test en tant qu'action partagée et stockée Non, en lecture seule ; seule sa copie locale de la table de données est modifiable.

Une action réutilisable devient une action extérieure Dès qu'un autre test appelle cette action à la place du test qui la possède, l'accès reste en lecture seule dans le test appelant. En effet, une action partagée peut être utilisée simultanément par des dizaines de scripts, et permettre à chaque appelant de modifier les étapes risquerait de perturber le fonctionnement des autres. Vous pouvez toutefois paramétrer l'appel et travailler localement avec une copie de sa table de données.

En règle générale, une nouvelle action doit rester non réutilisable tant que sa logique est spécifique à un seul test. PromoVous pouvez le rendre réutilisable dès qu'un deuxième script a besoin des mêmes étapes, et vous pouvez vous attendre à ce qu'il se comporte comme une action externe en lecture seule dès que ce deuxième script l'appelle.

Comment fractionner, copier et appeler des actions dans UFT

À mesure qu'une action prend de l'ampleur, gardezping Regrouper toutes les étapes au même endroit rend le script plus difficile à déboguer et à réutiliser. UFT permet de scinder une action existante en deux lorsqu'elle devient difficile à gérer.

  • Séparation indépendante (entre frères et sœurs) : L'action sélectionnée se divise en deux actions distinctes qui s'exécutent l'une après l'autre, chacune conservantping sa propre table de données locale.
  • Division imbriquée (parent-enfant) : L'action sélectionnée se divise en une action parente dont la dernière étape appelle la seconde, l'action enfant, préservant ainsi une dépendance logique entre les deux.

Une fois les actions existantes, UFT propose trois façons d'intégrer une action dans un test à partir de insérer Menu:

  • Insérer un appel à une nouvelle action : Crée une action vide et nouvelle à l'intérieur du test actuel.
  • Insérer un appel à l'action : Copie intégralement une action existante, y compris les points de contrôle, la paramétrisation et l'onglet « Tableau de données », dans le test appelant. La copie est totalement indépendante : les modifications apportées à l'original n'affectent ni ne sont affectées par celui-ci. Vous pouvez copier des actions réutilisables et non réutilisables.
  • Insérer un appel à une action existante : Insère un appel en lecture seule à une action réutilisable stockée dans un autre test. Cet appel ne peut être modifié que dans le test où il a été créé, ce qui garantit la synchronisation de tous les appelants et facilite la maintenance des suites de tests volumineuses.

Chaque appel se compile en un RunAction Déclaration dans l'avis d'expert :

' Calls Action2, which is stored in Test2, running it for one iteration
RunAction "Action2[Test2]", oneIteration

L'action s'exécute autant de fois que le spécifient ses propriétés d'appel. Par exemple, si l'action 2 est configurée pour s'exécuter à chaque itération du tableau de données de Test2, mais que l'action appelante 1 dans Test1 ne s'exécute qu'une seule fois, l'action 2 ne s'exécutera également qu'une seule fois, car l'appel lui-même n'est déclenché qu'une seule fois.

Astuce : Lorsqu'un test contient plusieurs actions, ouvrez le Flux de test Utilisez le menu Affichage pour déplacer et réorganiser les éléments. Cela modifie l'ordre d'affichage. UFT exécute les actions sans modifier les étapes à l'intérieur de chaque action.

La vidéo ci-dessous s'appuie sur le script de connexion en cinq étapes créé dans des tutoriels précédents pour Réservation de vol et explique en détail la création, la division et l'appel d'actions de bout en bout. C'est la vidéo la plus longue de cette série. UFT/QTP série de tutorielsIl est donc utile de prendre des notes pendant le visionnage.

Cliquez à nouveau ici si la vidéo n'est pas accessible

Comment transmettre des paramètres et stocker les valeurs de sortie entre les actions

Au-delà de l'appel d'une action, la plupart des scripts réels doivent y transférer des données et en relire un résultat. UFT donne à chaque action ses propres paramètres d'entrée et de sortie, ainsi que plusieurs façons de conserver ce qu'elle renvoie.

Transmission de paramètres à une action et en provenance de celle-ci

Tout comme fonctions ou méthodes Dans les langages de programmation, une action peut définir une entrée et une sortie. paramètresCe paramètre n'a aucun lien avec Paramétrage des données de test Comme indiqué précédemment, les paramètres ici appartiennent à l'action elle-même, et non à une colonne de la table de données. Configurez-les à partir de Édition > Action > Propriétés de l'actionou en cliquant avec le bouton droit sur l'action dans la vue Mots clés. Transmettez les valeurs lors de l'appel en utilisant la syntaxe suivante :

' Passes an input value and captures the action's output into myResult
RunAction "Action1", oneIteration, "testuser", myResult

Stockage de la valeur de sortie d'une action

Selon les besoins du reste du script, vous pouvez conserver la valeur renvoyée par une action à l'un des trois emplacements suivants :

  • Une variable : RunAction "Action1", oneIteration, "testuser", myResult stocke la sortie directement dans myResult.
  • An variable d'environnement: créer une variable définie par l'utilisateur sous Fichier > Paramètres > Environnement, puis écrivez RunAction "Action1", oneIteration, "testuser", Environment("env_var").
  • Une colonne de tableau de données : RunAction "Action1", oneIteration, "testuser", DataTable("A", dtGlobalSheet) inscrit le résultat directement dans la feuille globale.

Fiches de données globales et locales

Les actions permettent de lire et d'écrire des données de test via deux types de feuilles. Fiche technique globale est unique à l'ensemble du test ; toute action peut y lire ou y écrire, et il est toujours nommé « Global ». Fiche technique locale est unique pour chaque action, porte le nom de cette action, et seule l'action à laquelle elle est associée peut le lire ou l'écrire.

Sortie d'une action et contrôle de l'itération

Lorsqu'une étape doit interrompre une action prématurément plutôt que de la laisser se dérouler jusqu'à son terme, UFT fournit quatre déclarations :

  • ExitAction — arrête uniquement l'action en cours.
  • ExitActionIteration — interrompt l'itération en cours de l'action et passe à la suivante.
  • ExitRun — interrompt immédiatement l'exécution complète du test.
  • ExitGlobalIteration — interrompt l'itération de test global en cours et passe à la suivante.

Lors de l'exécution d'un UFT/QTP scénario Dans les actions, tenez compte des itérations globales et locales, car elles influent sur le nombre d'exécutions d'une action. Vous pouvez modifier la fréquence de répétition d'une action appelée en ouvrant Propriétés de l'appel d'action > Exécuter onglet et définissez le mode d'itération à cet endroit.

⚠ Piège courant : Une action appelée, configurée pour s'exécuter à chaque itération locale mais déclenchée par une action parente qui ne s'exécute qu'une seule fois, ne s'exécutera qu'une seule fois. Vérifiez le nombre d'itérations globales de l'action parente et les propriétés d'appel de l'action enfant avant de supposer qu'une action appelée se répétera.

FAQ

Une action est intégrée UFT une fonctionnalité dotée de son propre référentiel d'objets et de sa propre table de données, et qui peut être réutilisable ou non. fonction Il s'agit d'un simple script VBScript, toujours réutilisable, et ne possédant ni référentiel d'objets ni table de données propre.

Oui. Ouvrez les propriétés de l'action et activez ou désactivez l'indicateur de réutilisabilité à tout moment. Si vous marquez une action précédemment réutilisable comme non réutilisable alors que d'autres tests l'appellent encore, ces tests échoueront. UFT affiche un avertissement jusqu'à ce que les appels soient supprimés.

Les actions sont enregistrées avec le test sous forme de dossiers d'actions .mtr/.mts, et non sous forme de fichiers de script indépendants. Les bibliothèques de fonctions, en revanche, sont enregistrées sous forme de fichiers .vbs ou .qfl distincts, auxquels n'importe quel test peut s'associer et qu'il peut réutiliser.

Oui. Les outils de conception de tests assistés par IA peuvent analyser un flux enregistré et suggérer des points d'arrêt logiques, tels que la connexion, la recherche et le paiement, comme actions potentielles. Un testeur doit toutefois vérifier que la répartition correspond aux besoins réels de réutilisation avant de la finaliser.

Cela s'avère utile. L'identification automatique des objets permet de relier un contrôle déplacé ou renommé au sein d'une action au lieu de provoquer une erreur, ce qui réduit la charge de maintenance des actions réutilisables et externes partagées par de nombreux scripts. RevExaminer les objets réparés avant de leur faire entièrement confiance.

Résumez cet article avec :