Sélénium - Correspondance de modèles IDE
Tout comme les localisateurs, les modèles sont un type de paramètre fréquemment utilisé par Selenium. Il permet aux utilisateurs de décrire des modèles à l'aide de caractères spéciaux. Souvent, le texte que nous aimerions vérifier est dynamique; dans ce cas, la correspondance de modèles est très utile.
La correspondance de modèle est utilisée avec toutes les commandes de point de vérification - verifyTextPresent, verifyTitle, verifyAlert, assertConfirmation, verifyText et verifyPrompt.
Il existe trois façons de définir un motif -
- globbing
- expressions régulières, et
- modèles exacts.
Globbing
La plupart des techniciens qui ont utilisé des modèles de correspondance de fichiers sous Linux ou Windows lors de la recherche d'un certain type de fichier comme * .doc ou * .jpg. serait familier avec le terme "globbing"
Globbing dans Selenium ne prend en charge que trois caractères spéciaux: *,? Et [].
* - correspond à n'importe quel nombre de caractères.
? - correspond à un seul caractère.
[ ]- appelée classe de caractères, vous permet de faire correspondre n'importe quel caractère unique trouvé entre crochets. [0-9] correspond à n'importe quel chiffre.
Pour spécifier un glob dans une commande Selenium, préfixez le modèle avec le mot-clé «glob:». Par exemple, si vous souhaitez rechercher les textes «année d'imposition 2013» ou «année d'imposition 2014», vous pouvez utiliser le golb «année d'imposition *» comme indiqué ci-dessous.
Cependant, l'utilisation de "glob:" est facultative lors de la spécification d'un modèle de texte car les modèles de globbing sont la valeur par défaut dans Selenium.
Commander | Cible | Valeur |
---|---|---|
clickAndWait | lien = recherche | |
verifyTextPresent | glob: année d'imposition * |
Modèles exacts
Les modèles avec le préfixe «exact:» correspondront au texte donné tel quel. Disons que l'utilisateur veut une correspondance exacte avec la chaîne de valeur, c'est-à-dire que sans que l'opérateur glob fasse son travail, on peut utiliser le modèle 'exact' comme indiqué ci-dessous. Dans cet exemple, l'opérateur «*» fonctionnera comme un caractère normal plutôt que comme un caractère générique correspondant à un modèle.
Commander | Cible | Valeur |
---|---|---|
clickAndWait | lien = recherche | |
verifyValue | exact: * .doc |
Expressions régulières
Les expressions régulières sont les plus utiles parmi les techniques de correspondance de modèles disponibles. Selenium prend en charge l'ensemble complet de modèles d'expressions régulières pris en charge par Javascript. Par conséquent, les utilisateurs ne sont plus limités par *,? et [] motifs globuleux.
Pour utiliser les modèles RegEx, nous avons besoin de préfixer avec "regexp:" ou "regexpi:". Le préfixe "regexpi" est insensible à la casse. Les modèles glob: et exact: sont les sous-ensembles des modèles d'expressions régulières. Tout ce qui est fait avec glob: ou exact: peut être accompli avec l'aide de RegExp.
Exemple
Par exemple, ce qui suit testera si un champ de saisie avec l'identifiant «nom» contient la chaîne «année fiscale», «année fiscale» ou «année fiscale».
Commander | Cible | Valeur |
---|---|---|
clickAndWait | lien = recherche | |
verifyValue | id = nom | expression régulière: [Tt] hache ([Yy] oreille) |