< Précédent | Suivant >

Leçon 10 : Utilisation d'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 vous avez 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. Vous constaterez en consultant le journal qu'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é text.

    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. En revanche, la distinction minuscules/majuscules est appliquée lors des comparaisons, et seules les correspondances exactes sont acceptées. La valeur de la propriété text 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 l'une des versions de l'application, un espace sépare les deux mots de cette propriété, tandis que dans l'autre, il n'y a pas d'espace. Ce format prend en compte les deux cas.

  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. Le point de vérification d'image et le point de vérification de propriétés échouent. Le premier échoue car la hauteur et le poids de l'objet javax.swing.JLabel sont différents. Le second est censé échouer car le texte Orders for Trent Culpito n'a jamais été converti 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 permettent une reconnaissance plus souple d'un objet dont les propriétés sont différentes selon les versions d'une application ; elles permettent de reconnaître plusieurs éléments lors de la lecture. Pour plus d'informations sur les expressions régulières, consultez l'aide de Functional Tester.

< Précédent | Suivant >

Retour d'informations