GetRoProperty, GetToProperty dans QTP/UFT avec exemple
⚡ Résumé intelligent
Object Spy révèle les propriétés et les méthodes de tout contrôle de l'application testée, tandis que GetROProperty, GetTOProperty et SetTOProperty lisent et écrivent ces valeurs de propriété à partir d'un QTP or UFT Un seul script à l'exécution.
Ce tutoriel montre Objet Espion.
Object Spy peut vous aider à déterminer les propriétés et méthodes utiles associées à un objet dans votre environnement.
Le HP/Micro Focus UFT tutoriels décrit aussi GetROProperty, GetTOProperty et SetTOProperty.
⚠️ Note de version : L'outil décrit ici, commercialisé sous le nom de HP QuickTest Professional, est devenu Micro Focus Unified Functional Testing et est aujourd'hui vendu sous le nom de OpenText Tests fonctionnels (UFT Une). Object Spy et les trois méthodes fonctionnent toujours exactement comme décrit ci-dessous.
Cliquez à nouveau ici si la vidéo n'est pas accessible
Objet Espion
- L'espionnage d'objets est une fonctionnalité de QTP qui vous permet de visualiser les propriétés et les méthodes des objets de test et d'exécution.
- Il donne également la syntaxe d'une méthode sélectionnée.
- Object Spy affiche la hiérarchie complète de l'objet sélectionné.
Cette hiérarchie est importante, car le nom d'une propriété copié depuis Object Spy correspond exactement à la chaîne attendue par les trois méthodes ci-dessous. L'espionnage d'un objet est donc la première étape de presque toutes les tâches de récupération de propriétés.
GetROProperty
- GetROProperty – est une méthode intégrée utilisée pour récupérer la valeur d'exécution d'une propriété d'objet.
L'utilisation de GetROProperty comporte 4 étapes :
- Enregistrez l'objet sur lequel vous souhaitez utiliser la méthode GetROProperty dans Référentiel d'objets.
- L'objet enregistré identifie la propriété d'exécution qui peut être utilisée. Vous pouvez utiliser Object Spy.
- Utilisez la méthode GetROProperty pour récupérer la propriété d'exécution identifiée et stocker sa valeur dans une variable.
- Utilisez cette valeur pour effectuer d'autres déductions.
Étant donné que la valeur est lue à partir du contrôle en direct, l'application doit être ouverte et l'objet doit effectivement exister à l'écran lorsque la ligne est exécutée.
DéfinirTOPropriété et ObtenirTOPropriété
- Prenons l'exemple d'un bouton Web stocké dans le référentiel d'objets.
- Lorsque le test est exécuté QTP crée une copie de cet objet appelée Objet de test et la compare avec l'objet d'exécution
- La méthode GetTOProperty permet de récupérer la valeur d'une propriété de l'objet Test.
- La méthode SetTOProperty permet de modifier la valeur d'une propriété d'un objet de test.
- Une fois le test terminé, cet objet de test est supprimé, de même que toutes les modifications que vous avez apportées aux propriétés de l'objet à l'aide de SetTOProperty.
- Lorsque le test est réexécuté, une nouvelle copie de l'objet de test est créée avec les valeurs de propriété d'origine stockées dans le référentiel d'objets.
- Vous pouvez envisager d'utiliser GetTOProperty et SetTOProperty lorsque votre script de test comporte plusieurs lignes de code et que votre environnement est sporadique.
- À noter qu'il n'existe pas de SetROProperty
Syntaxe et exemples
Ces trois méthodes sont appelées sur un objet de test situé à la fin de sa hiérarchie et prennent toutes trois une propriété de description nommée sous forme de chaîne de caractères. Le tableau ci-dessous présente la signature de chacune.
| Méthode | Syntaxe | Lit ou écrit |
|---|---|---|
| GetROProperty | objet.GetROProperty(Property) | Lit le contrôle en direct dans l'application |
| GetTOProperty | objet.GetTOProperty(Property) | Lit la description de l'objet de test stocké |
| Définir la propriété | objet.SetTOProperty Propriété, Valeur | Rédige la description de l'objet de test uniquement pour cette exécution. |
La lecture d'une valeur d'exécution se résume à une seule instruction. Cet exemple, tiré de… Référence officielle pour la récupération et la définition des valeurs, récupère l'adresse cible d'un lien pendant la session d'exécution.
link_href = Browser("Technologies").Page("Technologies").Link("Jobs").GetROProperty("href")
Écrire puis lire une propriété d'un objet de test est tout aussi simple. Le code ci-dessous définit le nom du bouton « Soumettre » sur « my button » et lit immédiatement la même valeur.
Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").SetTOProperty "Name", "my button" ButtonName = Browser("QA Home Page").Page("QA Home Page").WebButton("Submit").GetTOProperty("Name")
Une vérification typique combine ces deux idées : lire la valeur d’exécution avec GetROProperty, puis la comparer à ce que le test attend.
strValue = Browser("Welcome").Page("Find a Flight").WebList("fromPort").GetROProperty("selection") If strValue = "Acapulco" Then Reporter.ReportEvent micPass, "Default city", "Default city is correct" Else Reporter.ReportEvent micFail, "Default city", "Unexpected value: " & strValue End If
Différence entre GetROProperty et GetTOProperty
Ces deux noms ne diffèrent que par une lettre et constituent la paire la plus source de confusion dans cet outil. RO signifie « objet d'exécution », TO « objet de test », et chacun effectue une lecture à un emplacement différent.
| Point de comparaison | GetROProperty | GetTOProperty |
|---|---|---|
| Source de la valeur | Le contrôle en direct dans l'application en cours d'exécution | La description enregistrée pour l'objet de test |
| L'application doit être ouverte | Oui | Non |
| Détecte une modification de SetTOProperty | Non | Oui, pour la session actuelle |
| Utilisation typique | Vérifier ce que l'utilisateur voit réellement | Vérification ou débogage de la manière dont l'objet est identifié |
| Correspondance avec le setter | Aucun — il n'y a pas de SetROProperty | Définir la propriété |
Un exemple concret met en évidence la différence. Attribuez un identifiant HTML à une liste qui n'en possède aucun, puis relisez-la des deux manières : GetROProperty renvoie une chaîne vide car l'application n'a jamais été modifiée, tandis que GetTOProperty renvoie la valeur qui vient d'être écrite dans la description.
Erreurs courantes et comment les corriger
La récupération des propriétés échoue pour un petit nombre de raisons prévisibles. Le tableau répertorie les plus fréquentes rencontrées par les testeurs.
| Symptôme | Causes | Fixer |
|---|---|---|
| L'appel renvoie une chaîne vide | Le nom de la propriété est incorrect ou l'objet ne l'expose pas. | Repérez à nouveau l'objet et copiez le nom de la propriété exactement comme indiqué. |
| Objet introuvable à la ligne GetROProperty | Le contrôle n'avait pas encore été rendu. | Ajoutez une étape de synchronisation avant la lecture |
| GetROProperty ignore une modification de SetTOProperty | Les deux méthodes ciblent des objets différents par conception | Lisez la modification avec GetTOProperty à la place |
| Une modification SetTOProperty disparaît | Les modifications apportées aux objets de test ne sont valables que pour l'exécution en cours. | Modifiez l'objet dans le référentiel ou utilisez programmation descriptive |
| SetROProperty génère une erreur de syntaxe | Une telle méthode n'existe pas. | Faites défiler l'application en suivant une étape normale telle que Définir ou Cliquer |
Deux habitudes permettent d'éviter la plupart de ces erreurs : examiner le contrôle avant d'écrire la ligne plutôt que de deviner le nom de la propriété, et conserver VBScript Les appels de récupération sont effectués au plus près de l'étape qui nécessite la valeur, de sorte que l'objet soit encore à l'écran au moment de la lecture.
