< Précédent | Suivant >

Leçon 8 : Mise à jour de la mappe d'objets

Dans cette leçon, vous allez utiliser la mappe d'objets afin de corriger l'avertissement de reconnaissance d'objet. Vous allez également utiliser une expression régulière pour permettre une reconnaissance d'objet plus souple.
Lorsqu'un message d'erreur ou d'avertissement lié à la reconnaissance est généré, consultez le journal. A la fin de la leçon 7, vous avez laissé le journal ouvert. Si tel n'est pas le cas, ouvrez-le en cliquant deux fois dessus dans la vue des projets. Il reste un avertissement non corrigé dans le journal. L'événement a pour en-tête La reconnaissance des objets est faible (au dessus du seuil d'avertissement).
  1. Consultez le contenu des zones ObjectLookedFor et objectFound dans la section d'avertissement située dans la partie finale du journal.

    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 de correspondance exacte en raison de cette différence.

  2. Consultez le contenu de la zone Line Number dans le journal. Notez le numéro et fermez le journal pour revenir dans Functional Tester.
  3. Cliquez dans la fenêtre de script et sélectionnez Naviguer > Accéder à la ligne.
  4. Entrez le numéro de ligne indiqué dans le message d'erreur enregistré dans le journal et cliquez sur OK.

    Le curseur se place dans la marge gauche, au niveau du numéro de ligne recherché.

    Remarque : Pour localiser le numéro de ligne, vous pouvez également consulter l'indicateur situé au bas de la fenêtre Functional Tester. Par exemple : "43:9" se réfère à la position 9 sur la ligne 43.
    La ligne du script est la suivante :
    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.
  5. Pour rechercher l'objet, revenez à la liste des objets de test dans l'explorateur de script (panneau de droite). Le texte rememberPassword doit figurer sous le dossier Objets de test.

Affichage des propriétés de reconnaissance d'objet dans la mappe d'objets

  1. Cliquez deux fois sur l'objet rememberPassword pour l'ouvrir dans la mappe d'objets.
  2. Cliquez sur Objet de test > Accepter tout dans le menu de la mappe d'objets. Si la commande est grisée, ne faites rien.

    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.

  3. Si l'objet case à cocher du mot de passe n'est pas sélectionné dans la mappe, sélectionnez-le (il s'agit de l'objet appelé Java: checkBox: checkRemember: javax.swing.JCheckBox).
  4. Consultez les propriétés de reconnaissance répertoriées dans l'onglet Reconnaissance situé au bas de la mappe d'objets.

    Vous constaterez qu'il s'agit de l'objet provenant de l'application ClassicsA, car Remember Password est indiqué pour la propriété text. 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 Functional Tester. Etant donné que vous souhaitez utiliser les propriétés du nouvel objet, vous devez ajouter ce dernier à la mappe.

Ajout du nouvel objet dans la mappe

Pour ajouter le nouvel objet à la mappe, ouvrez l'application ClassicsB puis la fenêtre Member Logon.
  1. Sélectionnez Applications > Exécuter dans le menu de la mappe d'objets.
  2. Sélectionnez ClassicsJavaB (veillez à sélectionner B).
  3. Cliquez sur OK.
  4. Dans l'application ClassicsCD, sélectionnez n'importe quel CD et cliquez sur Place Order.

    La fenêtre Member Logon s'ouvre.

  5. Déplacez la mappe d'objets vers le bas de l'écran, si nécessaire, pour l'afficher dans son intégralité. Dans le menu de la mappe d'objets, sélectionnez Objet de test > Insérer des objets.

    Cette opération équivaut à l'utilisation du sélecteur d'objet dans la page Sélection d'un objet de l'assistant des points de vérification.

  6. Désélectionnez la case Une fois l'objet sélectionné, passer à la page suivante si elle est cochée.
  7. A l'aide du sélecteur d'objet, cochez la case Remember the Password dans la fenêtre Member Logon.

    Si vous cochez cette case, la propriété text est associée à la valeur Remember The Password. Etirez les bordures de la mappe d'objets pour visualiser les propriétés.

  8. Dans la page Sélection d'un objet, cliquez sur Suivant.
  9. N'apportez aucune modification dans la page Options de sélection d'objet et cliquez sur Terminer.

    Le nouvel objet case à cocher n'apparaît pas dans la mappe d'objets.

  10. Cliquez sur un autre objet : vous constaterez que le nouvel élément s'affiche en bleu et que le mot New apparaît en début de ligne.

    L'ancien et le nouvel objet sont maintenant répertoriés dans la mappe. A présent, il est nécessaire d'unifier ces deux objets et de choisir les propriétés à affecter au nouvel objet.

Unification des objets

  1. Pour unifier les objets, cliquez sur l'ancien objet (case à cocher d'origine appelée CheckBox: checkRemember) et faites-le glisser sur le nouvel objet dans la liste. Placez la pointe de la flèche du curseur au-dessus du nouvel objet avant de relâcher le bouton de la souris. Relâchez ensuite le bouton de la souris.

    L'assistant Unification des objets de test s'affiche.

  2. Si nécessaire, agrandissez la fenêtre de l'assistant d'unification afin de visualiser plus d'informations dans les sections inférieures.

    Les propriétés de l'objet d'origine apparaissent dans la section du bas à gauche. Elles doivent avoir pour libellé "Source: RememberPassword." Il s'agit du texte affecté à la case à cocher dans ClassicsA. Dans la section inférieure droite, elles doivent avoir pour libellé "Target: RememberThePassword." Il s'agit du 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, Functional Tester 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, Functional Tester 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é. En l'occurrence, vous allez utiliser toutes les propriétés du nouvel objet, qui sont déjà renseignées.

  3. Cliquez sur Suivant.

    Tous les scripts affectés par cette modification dans la mappe d'objets sont répertoriés. Un seul script, Classics, est affecté.

  4. Cliquez sur Terminer.
  5. Dans la mappe d'objets, cliquez sur Fichier > Sauvegarder dans la barre d'outils de la mappe d'objets pour sauvegarder les modifications effectuées, puis fermez la mappe d'objets.

Nouvelle lecture du script

Vous allez lire le script à nouveau sur ClassicsB pour vérifier que son exécution aboutit.
  1. Fermez les boîtes de dialogue de ClassicsCD.
  2. Dans Functional Tester, cliquez sur Exécuter le script Functional Tester dans la barre d'outils.
  3. Sélectionnez le journal Classics et cliquez sur Terminer.

    L'exécution du script aboutit sans qu'aucun avertissement soit généré . Vous constatez 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 de facilement 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.

    Il existe une autre 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 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 en cours d'exécution de telle sorte que Functional Tester puisse extraire les propriétés de reconnaissance mises à jour. Cette méthode de mise à jour ne peut être employée que si vous ne souhaitez pas utiliser les propriétés de l'ancien objet.
  4. Fermez le journal.
< Précédent | Suivant >

Retour d'informations