< Précédent | Suivant >

Leçon 10 : Utilisation des expressions régulières

La dernière opération que vous allez réaliser à l'aide de la mappe d'objets consiste à convertir une valeur de propriété en expression régulière. Dans ce cas, l'expression régulière offre plus de souplesse pour la reconnaissance des objets.

Comme nous avons pu le constater, l'exécution du script est maintenant complètement réussie sur l'application ClassicsB. L'objectif recherché est donc atteint car les modifications apportées à l'application dans ClassicsB sont correctes. Le script se trouve maintenant à l'état approprié pour continuer le processus. Si vous lisez à nouveau le script sur ClassicsA, son exécution échoue à cause des modifications effectuées précédemment. Il peut être souhaitable que plusieurs variantes d'un même objet soient acceptées lors de l'exécution d'un script. Vous pouvez disposer d'un objet dynamique ou de plusieurs versions d'une application contenant chacune une version légèrement différente d'un même objet, ces deux éléments étant corrects. Vous pouvez utiliser une expression régulière pour autoriser plusieurs versions d'une valeur de propriété, telle qu'un texte, pour prendre en charge ce scénario.

Ouverture de la mappe d'objets et unification des objets

  1. Pour lire à nouveau le script sur ClassicsA, modifiez la commande startApp au début du script en remplaçant B par A.
  2. Cliquez sur Exécuter le script Functional Tester dans la barre d'outils de Functional Tester. Lors de la lecture, Functional Tester s'interrompt brièvement sur l'objet case à cocher du mot de passe, mais son exécution arrive finalement à son terme. Le script émet maintenant un avertissement. Dans le journal, il s'agit du même objet, l'objet de test rememberPassword.
  3. Fermez le journal, puis ouvrez la mappe d'objets à partir de l'objet case à cocher du mot de passe, comme vous l'avez fait au cours de la leçon 8 en cliquant deux fois sur rememberPassword dans l'Explorateur de script.
  4. Dans la mappe d'objets, ouvrez l'application en sélectionnant Applications > Exécuter. Sélectionnez ClassicsJavaA, puis cliquez sur OK.
  5. Choisissez n'importe quel CD et cliquez sur Place Order dans l'application ClassicsCD pour ouvrir la fenêtre Member Logon.
  6. Ajoutez le nouvel objet dans la mappe en sélectionnant Objet de test > Insérer des objets.
  7. A l'aide du Sélecteur d'objet, sélectionnez la case à cocher du mot de passe dans la fenêtre Member Logon de l'application.
  8. Cliquez sur Suivant, puis sur Terminer.
  9. Dans le panneau supérieur de la mappe d'objets, faites glisser l'ancien objet case à cocher vers le nouvel objet afin de les unifier.
  10. Agrandissez la fenêtre de l'assistant d'unification des objets de test en faisant glisser l'une de ses bordures vers l'extérieur afin d'agrandir les zones, si nécessaire.

    Vous allez utiliser deux expressions régulières différentes : une pour la propriété name et l'autre pour la propriété accessibleName.

    L'objet unifié apparaît dans la grille Propriétés de l'objet de test unifié (panneau supérieur) ; la propriété name a la valeur checkRemember.

Conversion d'une valeur de propriété en expression régulière

  1. Dans le panneau supérieur, cliquez à l'aide du bouton droit de la souris sur la valeur checkRemember et sélectionnez Convertir la valeur en expression régulière.

    Functional Tester désigne la valeur comme étant une expression régulière par le biais de l'icône "xy" placée devant.

  2. Cliquez deux fois sur la valeur name afin de modifier la zone.
  3. Supprimez le mot check et modifiez le reste de la valeur comme suit : [rR]emember.
  4. Cliquez à l'extérieur de la cellule.

    Dans ce format, le mot "remember" peut être accepté avec un "R" majuscule ou un "r" minuscule. Cela a son importance car les distinctions maj/min sont prises en compte lors des comparaisons et seules les correspondances exactes sont acceptées. La valeur de la propriété accessibleContext.accessibleName est "Remember Password".

  5. Cliquez à l'aide du bouton droit de la souris sur la valeur Remember Password et sélectionnez Convertir la valeur en expression régulière pour la convertir.
  6. Cliquez deux fois sur la valeur pour l'éditer de la manière suivante : Remember.*Password. Il convient de supprimer l'espace et d'ajouter le point (.) et l'astérisque (*).
  7. Cliquez sur une autre cellule.

    Le signe "." indique que n'importe quel caractère peut apparaître à cet emplacement. Dans une version de l'application, un espace sépare les deux mots de cette propriété, tandis que dans une autre, il n'y a pas d'espace. Ce format prend en compte ces deux états de fait.

  8. Cliquez sur Suivant, puis sur Terminer.
  9. Cliquez sur Fichier > Sauvegarder dans la mappe d'objets pour sauvegarder les modifications, puis fermez la mappe d'objets.
  10. Fermez ClassicsCD.
  11. Lisez à nouveau le script sur ClassicsA. Dans ce cas, le point de vérification doit échouer car le texte de Orders for Trent Culpito n'a jamais été modifié en expression régulière. L'avertissement de reconnaissance d'objet généré dans ClassicsA n'apparaît plus dans le journal.
  12. Fermez le journal.
  13. Modifiez la commande startApp pour lire ClassicsB et exécutez le script.

    La reconnaissance d'objets aboutit également sur l'application ClassicsB ! Les expressions régulières offrent plus de flexibilité pour la reconnaissance d'un objet qui possède des propriétés différentes dans des versions différentes d'une application ; ces deux éléments sont reconnus lors de la lecture. Pour plus d'informations sur les expressions régulières, voir l'aide de Functional Tester.

< Précédent | Suivant >