Vous pouvez maintenant aborder l'exercice 1.7 : Utilisation du comparateur pour mettre à jour un point de vérification.
Dans cet exercice, vous allez utiliser la mappe d'objets pour que l'avertissement de reconnaissance d'objet ne soit plus généré. Vous allez également utiliser une expression régulière pour offrir plus de souplesse pour la reconnaissance d'objet.
Lorsqu'un message d'erreur ou d'avertissement est généré pour la reconnaissance, consultez le journal. A la fin de l'exercice 1.7, vous avez dû laisser le journal ouvert. Si ce n'est pas le cas, ouvrez-le en cliquant deux fois dessus dans la vue des projets. Un message d'avertissement individuel reste dans le journal. L'événement a pour en-tête "La reconnaissance des objets est faible (au dessus du seuil d'avertissement)."Dans ClassicsA, la zone du mot de passe a pour nom Remember Password. Dans l'application ClassicsB, cette zone a pour libellé Remember The Password. Lorsque vous avez lancé la lecture du script sur ClassicsB, la reconnaissance d'objet n'a pas établi une correspondance exacte en raison de cette différence.
Le curseur se place dans la marge gauche, au niveau du numéro de ligne recherché.
RememberPassword().clickToState(SELECTED);
Cette ligne indique que vous avez cliqué sur la case à cocher du mot de passe. Dans le script, elle indique l'objet qui a échoué. Vous pouvez maintenant rechercher cet objet dans la mappe d'objets.
Le texte "rememberPassword" doit figurer sous le dossier Objets de test.
Le texte de tous les objets apparaît maintenant en noir. Les nouveaux objets apparaissent en bleu tant qu'ils n'ont pas été acceptés dans une mappe. Vous devez accepter les objets dès que vous consultez une mappe d'objets nouvellement créée.
Pour ajouter le nouvel objet à la mappe, ouvrez l'application ClassicsB et la boîte de dialogue Member Logon.Comme vous pouvez le constater, il s'agit de l'objet provenant de l'application ClassicsA car "Remember Password" est indiqué dans la propriété accessibleContext.accessibleName. Il s'agit de l'ancien objet. Toutefois, lors de la lecture du script sur l'application ClassicsB, le texte de l'objet a changé et ce dernier est reconnu en tant que nouvel objet par le test fonctionnel. Etant donné que vous souhaitez utiliser les propriétés du nouvel objet, vous devez ajouter ce dernier à la mappe.
La boîte de dialogue Member Logon s'affiche.
Cela équivaut à l'outil de recherche des objets dans la page Sélection d'un objet de l'assistant des points de vérification.
Après avoir coché cette case, vous pourrez constater que la propriété accessibleContext.accessibleName a maintenant pour valeur "Remember The Password." Etirez les bordures de la mappe d'objets pour visualiser les propriétés.
Le nouvel objet case à cocher n'apparaît pas dans la mappe d'objets.
L'ancien et le nouvel objet sont maintenant répertoriés dans la mappe. Vous souhaitez unifier ces deux objets et prendre sur chacun d'eux les propriétés à affecter au nouvel objet.
L'assistant d'unification des objets de test s'affiche.
Les propriétés de l'objet d'origine apparaissent dans la section du bas à gauche. Elles doivent avoir pour libellé "Source: RememberPassword." Cela correspond au texte affecté à la case à cocher dans ClassicsA. Dans la section du bas à droite, elles doivent avoir pour libellé "Target: RememberThePassword." Cela correspond au texte affecté à la case à cocher dans ClassicsB.
Etant donné que vous avez fait glisser l'ancien objet sur le nouveau, les propriétés de reconnaissance du nouvel objet sont remplies au niveau supérieur de l'assistant. En général, le test fonctionnel place les nouvelles propriétés au niveau supérieur s'il s'agit des propriétés préférées. Cependant, d'anciennes propriétés d'administration peuvent être privilégiées. Par exemple, le test fonctionnel conserve des expressions régulières dans l'ancien ensemble de propriétés. Pour utiliser une propriété de l'ancien objet, cliquez deux fois dessus dans la grille de l'ancien objet afin de la copier dans l'objet unifié. Dans ce cas, nous souhaitons utiliser toutes les propriétés du nouvel objet, qui sont déjà renseignées.
Tous les scripts affectés par cette modification dans la mappe d'objets sont répertoriés. Un seul script, Classics, est affecté.
L'exécution du script aboutit sans qu'aucun avertissement soit généré ! Vous pouvez constater que la lecture ne s'interrompt plus au niveau de l'objet case à cocher du mot de passe car les propriétés de reconnaissance concordent.
La fonction d'unification d'objet permet aisément de mettre à jour des scripts lorsque les propriétés de reconnaissance d'un objet sont modifiées de manière intentionnelle. Si la mappe d'objets est utilisée par un grand nombre de scripts, cette fonction a pour avantage principal de mettre à jour tous les scripts lorsque vous effectuez des modifications dans l'assistant. Au lieu d'éditer manuellement plusieurs scripts, vous pouvez effectuer la modification une seule fois dans la mappe et propager celle-ci automatiquement à tous les scripts qui utilisent la mappe. Cette fonction peut vous faire gagner du temps.
Remarque : Il existe également une méthode plus simple pour mettre à jour les propriétés de reconnaissance d'un objet de test si celles-ci doivent être modifiées. Au lieu d'utiliser l'assistant d'unification comme indiqué dans cet exercice, vous pouvez sélectionner dans la mappe d'objets l'objet de test dont vous souhaitez mettre à jour les propriétés de reconnaissance. Cliquez à l'aide du bouton droit de la souris sur l'objet de test, tel qu'il apparaît dans l'arborescence de la mappe d'objets, et sélectionnez Mettre à jour les propriétés de reconnaissance dans le menu en incrustation. Au moment où vous effectuez cette opération, l'application de test doit être active afin que le test fonctionnel puisse extraire les propriétés de reconnaissance mises à jour. Cette méthode de mise à jour ne doit être employée que si vous ne souhaitez pas utiliser les propriétés de l'ancien objet.
Vous pouvez maintenant aborder l'exercice 1.9 : Modification des préférences de reconnaissance.