Comprendre SystemUtil.Run, SetSecure, Set, Type : QTP/UFT
⚡ Résumé intelligent
SystemUtil.Run est le UFT Une commande qui lance un fichier ou une application au début d'une session d'exécution, tandis que Set, SetSecure et Type alimentent la fenêtre qu'elle ouvre avec des valeurs et des frappes au clavier.
SystemUtil.Exécuter dans UFT
Chaque test d'interface graphique enregistré nécessite une première étape qui affiche l'application testée à l'écran. OpenText Tests fonctionnels (UFT L'un, anciennement Micro Focus UFT et à l'origine HP QTP), cette étape est SystemUtil.ExécuterAnalysons le fragment de code suivant.
SystemUtil.Run "C:\Program Files\HP\samples\flight\app\flight.exe" Dialog("Login").WinEdit("Agent Name:").Set "Guru" Dialog("Login").WinEdit("Agent Name:").Type micTab Dialog("Login").WinEdit("Password:").SetSecure "4af272a62666d2e" Dialog("Login").WinButton("OK").Click Window("Flight Reservation").Close
- La première étape est la Commande SystemUtil.Run utilisée par défaut par UFT/QTP ouvrir une application. Pendant l'enregistrement, en utilisant le Windows Menu Démarrer, nous avons navigué vers le "Réservation de vol« application ». À cette époque, Micro Focus UFT Il a identifié l'emplacement de son fichier exécutable et a inséré la commande SystemUtil.Run pour l'ouvrir.
- La ligne 2 définit le nom de l'agent comme Guru comme indiqué sur l'écran actif
- La ligne 3 consiste à appuyer sur la touche Tab d'un clavier pour amener le focus du champ du nom de l'agent au champ du mot de passe, ce qui correspond exactement à cette étape. Les utilisateurs humains doivent utiliser la touche Tabulation ou cliquer pour se concentrer sur un objet particulier à l'écran. En revanche, Test rapide peut identifier directement un objet à l’aide des propriétés de l’objet et ne nécessite pas ces opérations de « manœuvres »Nous pouvons supprimer cette étape, car UFT Il sera toujours possible de définir le champ du mot de passe sans cette opération.
- La ligne 4 définit le mot de passe comme Mercury. UFT L'un d'eux chiffre automatiquement les mots de passe saisi pendant l'enregistrement pour éviter les failles de sécurité. Cette valeur ne peut pas être déchiffrée, c'est-à-dire qu'il n'existe aucun moyen de récupérer la valeur originale à l'aide de ces données cryptées. Vous pouvez chiffrer explicitement un mot de passe à l'aide de l'outil Password Encoder. Pour nos besoins d’apprentissage, nous utiliserons le mot de passe sous sa forme brute. Et l'opération changera également pour Set
- La ligne 5 clique sur le bouton OK
- La ligne 6 ferme la fenêtre
⚠️ Note de version : Le chemin indiqué ci-dessus pointe vers l'ancien C:\Program Files\HP\samples\flight emplacement utilisé par HP QTPL'application de réservation de vols d'exemple est toujours fournie avec UFT L'un, mais dans le dossier d'installation actuel ; le chemin d'accès littéral dans un script enregistré aujourd'hui sera donc différent.
Cliquez à nouveau ici si la vidéo n'est pas accessible
Syntaxe et arguments de SystemUtil.Run
La ligne enregistrée ci-dessus n'utilise que le premier argument, mais la méthode en accepte cinq. Les connaître tous transforme SystemUtil.Run, artefact enregistré, en une étape de lancement précise que vous pouvez écrire manuellement.
SystemUtil.Run file, [params], [dir], [op], [mode]
| Argument | Champs obligatoires? | Ce qu'il fait |
| filet | Requis | Nom du fichier ou de l'application à exécuter. Un fichier non exécutable s'ouvre dans son application associée. |
| params | Optionnel | Paramètres transmis à l'application lors de filet est un fichier exécutable. La valeur par défaut est une chaîne vide. |
| dir | Optionnel | Répertoire par défaut de l'application ou du fichier. Par défaut, une chaîne vide. |
| op | Optionnel | Action à effectuer : ouvrir, modifier, explorer, rechercher ou imprimer. Une valeur vide correspond à l’ouverture. |
| mode | Optionnel | Entier qui détermine l'affichage de la fenêtre à son ouverture. La valeur par défaut est 1. |
Le op L'argument est celui que la plupart des testeurs ne découvrent jamais. Il correspond aux mêmes verbes. Windows Explorer propose des offres accessibles par un clic droit.
| valeur opérationnelle | Résultat |
| ouvert | Ouvre le fichier, le dossier ou l'exécutable nommé dans filet. |
| éditer | Lance un éditeur et ouvre le document pour modification. Échoue si le fichier n'est pas un document modifiable. |
| explorez | Explore le dossier nommé dans filet. |
| trouver | Lance une recherche à partir du chemin de dossier spécifié. |
| impression | Imprime le document nommé dans filetÉchec si le fichier n'est pas imprimable. |
Pour modeLes valeurs pertinentes au quotidien sont : 0 (masquer la fenêtre et en activer une autre), 1 (activer la fenêtre et l’afficher à sa taille d’origine), 2 (activer la fenêtre réduite) et 3 (activer la fenêtre agrandie). Les valeurs supérieures permettent de contrôler le focus et de rétablir le comportement initial, mais sont rarement nécessaires lors d’un test.
Exemples d'utilisation de SystemUtil.Run : Applications, navigateurs et fichiers
Les exemples ci-dessous ajoutent un argument à la fois, ce qui vous permet de voir l'apport de chaque position. Collez-les dans une nouvelle action et exécutez-les ligne par ligne.
1) fichier uniquement — la forme utile la plus courte. Un fichier exécutable situé dans le chemin système n'a pas besoin de dossier, et un document s'ouvre dans n'importe quelle application. Windows s'y est inscrit.
SystemUtil.Run "notepad.exe" SystemUtil.Run "C:\Data\Orders.txt"
2) fichier plus paramètres — Tout ce que l'application accepte en ligne de commande doit être saisi ici. C'est ainsi qu'un navigateur s'ouvre sur une adresse spécifique plutôt que sur sa page d'accueil.
SystemUtil.Run "notepad.exe", "C:\Data\Orders.txt"
3) ajout de dir — utile lorsqu'une application refuse de démarrer à moins que son propre dossier ne soit le répertoire de travail.
SystemUtil.Run "flight.exe", "", "C:\Program Files\HP\samples\flight\app\"
4) ajout d'op — le même fichier, quatre résultats différents.
SystemUtil.Run "C:\Data\Orders.txt", "", "", "edit" SystemUtil.Run "C:\Data", "", "", "explore" SystemUtil.Run "C:\Data", "", "", "find" SystemUtil.Run "C:\Data\Orders.txt", "", "", "print"
5) ajout du mode — Ouvrez la fenêtre en plein écran afin que les étapes suivantes ne soient pas bloquées par une commande partiellement cachée.
SystemUtil.Run "notepad.exe", "C:\Data\Orders.txt", "", "open", 3
Comme la fenêtre ouverte devient un objet de test ordinaire, la ligne suivante peut la contrôler. La documentation officielle associe les commandes « Exécuter », « Type » et « Fermer » exactement de cette manière.
SystemUtil.Run "C:\type.txt", "", "", "" Window("Text:=type.txt - Notepad").Type "happy days" Window("Text:=type.txt - Notepad").Close
Remarquez le descriptif Texte:= Dans cet extrait, aucune entrée de dépôt n'est nécessaire. Cette même idée est traitée en détail dans… programmation descriptiveet les chemins codés en dur comme ceux ci-dessus sont généralement mieux conservés dans Variables d'environnement Un seul script s'exécute donc sur chaque machine.
Set, SetSecure et Type : quelle méthode utiliser ?
Les lignes 2 à 4 du script enregistré utilisent trois méthodes différentes sur le même type de champ de saisie. Elles ne sont pas interchangeables, et choisir la mauvaise méthode est une cause fréquente d'une étape qui passe sans que rien ne soit saisi.
| Méthode | Ce qu'il envoie | Utilisez-le quand |
| complet » | Inscrit directement une valeur en texte brut dans le champ. | Saisie de données normale, y compris un mot de passe que vous souhaitez garder lisible. |
| Définir la sécurité | Écrit une chaîne encodée qui UFT L'un des décodages s'effectue lors de l'exécution. | Tout champ de mot de passe, de sorte que sa valeur n'apparaisse jamais dans le script ni dans les résultats. |
| Type | Envoie les frappes de touches brutes, y compris les touches telles que micTab. | Le comportement du clavier fait partie du test, ou bien une commande ne réagit qu'aux touches physiques. |
Comme l'indique la procédure pas à pas, la touche Tabulation à la ligne 3 n'existe que parce que l'enregistreur a capturé une habitude humaine. UFT Le champ du mot de passe est identifié par ses propriétés ; supprimer cette ligne ne change donc rien. Remplacez SetSecure par Set et la même connexion s'effectuera avec un mot de passe lisible.
Dialog("Login").WinEdit("Password:").Set "mercury"
Pour faire l'inverse et encoder une valeur en dehors d'une session d'enregistrement, utilisez le Encodeur de mot de passeL'outil GUI est fourni avec UFT Un, et le même encodage est disponible à partir d'une ligne de commande comme CryptonCMD.exe -e dans le dossier bin du produit. Les deux produisent des chaînes que vous pouvez déposer dans un argument SetSecure ou dans un paramètre de table de donnéesLe fournisseur précise clairement que cet encodage n'est pas une norme de sécurité : il masque une valeur à l'écran, il ne protège pas les données réelles des clients.
Une fois ces trois méthodes devenues une seconde nature, le reste du langage s'apprend rapidement. Principes de base de VBScript et le plus large UFT Une série de tutoriels couvrir les boucles, les conditions et les fonctions réutilisables, tandis que Object Spy et GetROProperty vous montrer quelles propriétés UFT L'un d'eux est en train de correspondre.
