Lors du développement d’une application Web, il y a tellement de cas de test à exécuter. Pour chaque ingénieur de test, effectuer des actions, telles que taper, cliquer, etc., est un must sur les éléments HTML. Lors de l’exécution des tests d’automatisation, l’outil d’automatisation des tests doit être capable d’effectuer ces opérations sur les éléments HTML, tout comme nous interagissons lors des tests manuels.
Mais comment l’outil d’automatisation sait-il comment localiser un élément HTML pour effectuer l’opération nécessaire ? C’est là que la feuille de triche des localisateurs Selenium est utile.
Explorons les types de localisateurs dans Selenium dans ce tutoriel sur les localisateurs Selenium. Plongez avec nous dans notre aide-mémoire sur les localisateurs de sélénium spécialement conçu pour vous.
Que sont les localisateurs de sélénium ?
Selenium est un framework d’automatisation de test largement utilisé. Grâce à Selenium, vous pouvez automatiser toutes les interactions telles que taper, cliquer, double-cliquer avec les éléments Web DOM, etc. Pour identifier tout élément HTML sur une page Web, vous devez utiliser des localisateurs. C’est une fonctionnalité commune à presque tous les outils d’automatisation de l’interface utilisateur, y compris Selenium.
Les localisateurs Selenium WebDriver proposent différentes méthodologies pour identifier les éléments HTML présents sur la page. Selenium offre un support multiple aux principaux localisateurs Web. Choisissez celui qui répond le mieux à vos exigences de test. Nous avons préparé cette feuille de triche sur les localisateurs Selenium en gardant un œil sur ce que nous devons couvrir sans faute, pour simplifier vos tâches.
Voici les types de localisateurs dans Selenium :
ID
Name
ClassName
LinkText
Partial LinkText
TagName
CSSSelector
XPath
Dans la section suivante de cette feuille de triche sur les localisateurs Selenium, nous explorerons en détail différents localisateurs dans Selenium.
Quels sont les types de localisateurs de sélénium ?
Dans cette feuille de triche des localisateurs Selenium, couvrons les types de localisateurs les plus importants de Selenium dans cette section de la feuille de triche des localisateurs Selenium.
Voici la liste :
LOCALISATEUR | DESCRIPTION | SYNTAXE (EN JAVA) |
---|---|---|
ID |
Déterminez le WebElement qui utilise l’attribut ID. | driver.findElement(By.id(“IdValue”)) |
Name |
Déterminez le WebElement avec l’attribut Name. | driver.findElement(By.name(“nameValue”)) |
ClassName |
Utilisez l’attribut Class pour identifier l’objet… | driver.findElement(By.className(“classValue”)) |
LinkText |
Tirez parti des liens hypertexte de texte pour localiser le WebElement. | driver.findElement(By.linkText(“textofLink”)) |
Partial LinkText |
Utilisez le texte partiellement dans les liens hypertexte pour l’emplacement WebElement souhaité. | driver.findElement(By.partialLinkText(“PartialTextofLink”)) |
TagName |
Utilisez le TagName pour localiser tout WebElement souhaité. | driver.findElement(By.tagName(“htmlTag”)) |
CSSSelector |
Le CSS que nous utilisons pour créer différentes règles de style dans une page Web peut être utilisé pour localiser tout WebElement nécessaire. | driver.findElement(By.cssSelector(“cssValue”)) |
XPath |
Apportez XPath en tant que localisateur WebElement. | driver.findElement(By.xpath(“xpathValue”)) |
Localisation des éléments Web avec l’attribut « ID »
C’est la première partie dont nous allons discuter dans notre aide-mémoire des localisateurs de sélénium. Le localisateur d’ID dans Selenium est la méthode la plus courante pour localiser différents éléments de page Web. Le W3C s’attend à ce qu’il soit toujours unique. Avec l’avènement des pages Web dynamiques, vous pouvez générer des « identifiants » de manière dynamique.
Voici la syntaxe pour localiser les éléments Web par « ID : »
driver.findElement(By.id(“IdValue”));
driver
: Le Selenium WebDriver à partir duquel nous devons localiser l’élément Web tout en utilisant le localisateur Selenium.findElement
: L’attribut utilisé pour trouver l’élément de la page Web.By.id
: La méthode utilisée pour transmettre la propriété de « IdValue ».IdValue
: localise l’élément Web avec son nom d’ID.
Exemple:
<input name="food" required="" type="radio" id="food-radio-1" class="custom-control-input" value="Menu">
driver.findElement(By.id(“food-radio-1”))
By.id(“food-radio-1”)
: localise l’élément Web avec l’ID «food-radio-1
.”
Localisation des éléments Web avec l’attribut « Name »
Selenium nous permet d’identifier n’importe quel élément à l’aide de l’attribut « name » en utilisant le localisateur de nom dans Selenium. Il peut avoir un certain nombre d’éléments avec un attribut « nom » similaire. Lorsque nous voulons identifier l’élément Web, nous devons essayer de le rendre unique. Ou bien, il identifierait un certain nombre d’éléments présents sur la même page avec la même valeur de nom et choisirait celui qu’il trouve en premier.
Voici la syntaxe pour localiser les éléments Web par « Nom : »
driver.findElement(By.name(“nameValue”));
By.name
: La méthode utilisée pour passer la propriété de « Name ».nameValue
: La valeur du nom à localiser.
Exemple:
<input name="food" required="" type="radio" id="food-radio-1" class="custom-control-input" value="Menu">
driver.findElement(By.name("food"))
By.name("food")
: localise l’élément Web portant le nom « nourriture ».
Localisation des éléments Web avec l’attribut « ClassName »
Le localisateur ClassName dans Selenium peut aider Selenium à localiser les valeurs de classe DOM. Pour effectuer ou identifier toute forme d’opération d’élément Web impliquant l’attribut « className », nous utilisons class.
Voici la syntaxe pour localiser les éléments Web par « ClassName : »
driver.findElement(By.className(“classValue”));
By.className
: La méthode utilisée pour transmettre le localisateur « className ».classValue
: localise la classe avec le nom de classe spécifique.
Exemple:
Supposons que l’extrait de code suivant se compose de l’intégralité du formulaire d’un événement :
<div class="registration-form-wrapper">
La valeur de l’attribut class peut être utilisée pour l’identification du formulaire. Pour identifier la même chose sur notre page Web, la syntaxe suivante peut être utile :
driver.findElement
(By.className("registration-form-wrapper"));
By.className("registration-form-wrapper")
: localise l’élément Web avec le nom de classe «registration-form-wrapper
.”
Nous devons utiliser un nom de classe unique pour localiser l’élément Web. Si quelque chose d’autre consiste en ce nom de classe, Selenium considérera cela au lieu de l’élément Web que vous devez considérer.
Localisation des éléments Web avec les attributs « partialLinkText » et « LinkText »
Les localisateurs partialLinkText et LinkText dans Selenium ont les mêmes fonctionnalités. Ils vous permettent de localiser différents éléments Web avec des textes de liens hypertexte. Nous pouvons les utiliser pour manipuler des éléments avec l’ancre < a>
Mots clés. En référence aux différentes stratégies de localisation de Selenium, lorsque nous avons divers hyperliens avec le texte exact sur la page Web, Selenium choisirait celui qui apparaît en premier.
Voici la syntaxe pour localiser un élément web avec les attributs « partialLinkText » et « LinkText » :
driver.findElement(By.partialLinkText(“PartialTextofLink”));
By.partialLinkText
: le localisateur de texte de lien partiel vous permet d’identifier les éléments à l’aide du texte de lien partiel.
driver.findElement(By.LinkText(“LinkText”));
By.LinkText
: Identifiez les éléments uniquement par le texte du lien.
Exemple:
Supposons que l’élément d’ancrage se compose des attributs et propriétés suivants :
<a id="Link1" href="https://www.lambdatest.com" target="_blank">Landingpage</a>
Pour identifier les éléments avec partialLinkText
ou LinkText
le texte du lien hypertexte est indispensable :
driver.findElement(By.linkText("Landingpage"))
By.linkText("Landingpage"
: Le texte du lien hypertexte utilisé pour identifier les éléments.
Avec le partialLinkText
vous pouvez identifier les éléments en utilisant uniquement la partie du texte du lien :
driver.findElement(By.partialLinkText("Land"))
By.partialLinkText
(« Terre ») : partie du texte du lienLandingpage
.
Localisation des éléments Web avec l’attribut « TagName »
Le TagName
localisateur dans Selenium peut utiliser des noms de balises HTML, tels que div
, button
, ***input
, anchor tag
etc., pour identifier les éléments de la page Web.
Voici la syntaxe pour trouver les éléments avec le « tagName : »
driver.findElement(By.tagName(“htmlTag”));
By.tagName
: LetagName
localisateur est utilisé pour trouver l’élément Web avec le nom de balise particulier.htmlTag
: Le nom de la balise utilisée pour identifier les éléments.
Exemple:
By.tagName("a");
("a"):
LetagName
Le localisateur renvoie tous les éléments de la page contenant une balise spécifiée « a ».
Localisation des éléments Web avec l’attribut « CSS Selector »
Les feuilles de style en cascade (CSS) peuvent être largement utilisées pour styliser différentes pages Web. La majorité des pages Web sont de conception dynamique. Par conséquent, il est assez difficile d’obtenir un nom, une classe ou un identifiant unique pour localiser différents éléments. Les sélecteurs CSS dans Selenium pourraient constituer la meilleure alternative car ils sont assez rapides par rapport aux différents types de localisateurs dans Selenium. Vous pouvez approfondir cela en parcourant la feuille de triche du sélecteur CSS une fois que vous avez fini de lire notre feuille de triche sur les localisateurs Selenium.
Voici la syntaxe pour identifier un élément web avec CSS Selector :
driver.findElement(By.cssSelector(“cssValue”));
By.cssSelector
: Le localisateur CSS Selector est utilisé pour trouver l’élément à l’aide de CSS Selector.cssValue
: L’attribut utilisé pour définir la valeur du CSS Selector.
Exemple:
Considérons que l’élément d’entrée se compose des éléments suivants :
<input autocomplete="off" placeholder="Name" type="text" id="userName" class=" registration-form">
Pour trouver l’élément avec le sélecteur CSS, voici le code :
By.cssSelector("input[id= ‘userName’]")
By.cssSelector
: Méthode utilisée pour localiser les éléments Web à l’aide de CSS Selector.input[id= ‘userName’]
: valeur du sélecteur CSS.Input
: Propriété utilisée pour définir la valeur de l’ID du CSS Selector.Id
: attribut utilisé pour saisir la valeur d’ID pour définir divers localisateurs CSS.userName
:…