Comment sélectionner une valeur dans une liste déroulante dans Selenium WebDriver



Cet article vous aide à comprendre ce qu'est une classe Select dans Selenium WebDriver et également comment sélectionner une valeur dans une liste déroulante dans Selenium WebDriver

Pour effectuer n'importe quelle action, le premierla tâche à faire est d'identifier le groupe d'éléments. Généralement, tout en travaillant avec , vous devrez peut-être sélectionner certaines valeurs dans la liste déroulante et également effectuer d'autres activités et les valider. Donc, je vais vous guider pour comprendre ce qu'est une classe Select dans Selenium WebDriver et comment Sélectionner une valeur d'une liste déroulante dans Selenium WebDriver.

Je discuterai de ce sujet dans cet ordre:





Alors, commençons.

Sélectionnez la classe dans Selenium WebDriver

La Sélectionner la classe est une classe qui fournit essentiellement l'implémentation de la balise HTML SELECT. Une balise Select fournit les méthodes d'assistance avec des options de sélection et de désélection. Cette classe se trouve sous Assistance de Selenium.UI.Select paquet. Select est en fait une classe ordinaire, son objet est donc également créé par le mot-clé Nouveau et spécifie également l'emplacement de l'élément Web.



Syntaxe:

Sélectionnez oSelect = new Select ()

Cela créera une erreur demandant d'ajouter des arguments à la commande. Spécifiez donc l'emplacement de l'élément Web à l'aide du .

Il indique clairement que Sélectionner demande un objet de type élément pour son constructeur.



Après ça,une fois que vous obtenez l'objet du SELECT Classe , vous pouvez accéder à toutes les méthodes qui résident dans le SÉLECTIONNER classe en tapant oSélectionnez + point qui fournira toutes les méthodes sous la classe Select. Choisissez n'importe quelle méthode en fonction de votre scénario de test.

Alors, passons à présent pour découvrir les différentes méthodes de cette classe Select.

Sélectionnez la classe dans Selenium WebDriver: Différentes commandes de sélection

Voici les méthodes les plus couramment utilisées pour gérer la liste déroulante.

un. selectByVisibleText: selectByVisibleText (String arg0): void

Il est très facile de choisir ou de sélectionner une option donnée sous n'importe quelle liste déroulante et plusieurs cases de sélection avec cette méthode. Il prend un paramètre de String qui est l'un des valeur de l'élément Select et il ne renvoie rien.

Syntaxe: oSelect.selectByVisibleText ('texte')

Exemple:

Sélectionnez oSelect = new Select (driver.findElement (By.id ('search-box'))) oSelect.selectByVisibleText ('Blog')

2 . selectByIndex: selectByIndex (int arg0): void

Cette méthode est presque similaire à ‘selectByVisibleText’, mais la seule différence ici est que l’utilisateur doit fournir le numéro d’index de l’option plutôt que le texte de l’option. Il prend le paramètre entier qui est la valeur d'index de Sélectionnez un élément et il ne renvoie rien.

Synatx: oSelect.selectByIndex (entier)

Exemple:

Sélectionnez oSelect = new Select (driver.findElement (By.id ('Seacrch-box'))) oSelect.selectByIndex (2)

3. selectByValue: selectByValue (String arg0): void

Cette méthode est à nouveau similaire à ce que j'ai discuté précédemment, la seule différence dans cette méthode, c'est qu'elle demande la valeur de l'option plutôt que le texte d'option ou un index. Il prend un paramètre String qui est l'une des valeurs de Sélectionnez un élément et ça ne renvoie rien.

Syntaxe: oSelect.selectByValue ('texte')

Exemple:

Sélectionnez oSelect = new Select (driver.findElement (By.id ('Search-box'))) oSelect.selectByValue ('Selenium Certification training')

Quatre. getOptions: getOptions (): Liste

Cette méthode permet d'obtenir toutes les options appartenant à la balise Select. Il ne prend aucun paramètre et retourne liste .

Syntaxe: oSelect.getOptions ()

Exemple:

Select oSelect = new Select (driver.findElement (By.id ('Search-box'))) List elementCount = oSelect.getOptions () System.out.println (elementCount.size ())

Alors, passons au sujet suivant et découvrons les méthodes de sélection multiple

Sélectionnez la classe dans Selenium WebDriver: Comment fonctionne la commande SELECT multiple?

L'attribut de sélection multiple est une expression booléenne. Lorsque cela est présent, il spécifie que plusieurs options peuvent être sélectionnées à la fois. Ces options varient selon les systèmes d'exploitation et les navigateurs, à savoir:

  • Pour les fenêtres: Maintenez le bouton de contrôle (ctrl) enfoncé pour sélectionner plusieurs options.
  • Pour Mac: Maintenez le bouton de commande enfoncé pour sélectionner plusieurs options.

Il est facile d'utiliser des cases à cocher au lieu d'utiliser différentes façons d'effectuer des opérations car vous devez informer l'utilisateur que plusieurs sélections sont disponibles. Il existe une méthode qui permet en fait de spécifier que vous pouvez utiliser plusieurs options de sélection.

isMultiple

isMultiple (): booléen - Cette méthode indique si l'élément SELECT prend en charge plusieurs options de sélection en même temps ou non. Cette méthode n'accepte rien mais renvoie une valeur booléenne (vrai / faux).

Syntaxe: oSelect.isMultiple ()

Exemple:

Select oSelect = new Select (driver.findElement (By.id (Element_ID))) oSelect.selectByIndex (index) oSelect.selectByIndex (index) // Ou peut être utilisé comme oSelect.selectByVisibleText (text) oSelect.selectByVisibleText (text) / / Ou peut être utilisé comme oSelect.selectByValue (valeur) oSelect.selectByValue (valeur)

Sélectionnez la classe dans Selenium WebDriver: méthodes DeSelect

Lorsque vous sélectionnez un élément particulier sur la page Web, il existe quelques méthodes qui vous aideront à désélectionner cet élément. Mais le seul défi de ces méthodes est qu'elles ne fonctionnent pas pour Menu déroulant et ne travaille que pour Sélection multiple éléments.

Si vous souhaitez désélectionner une option présélectionnée, cela peut être fait avec

  • tout déselectionner ()
  • désélectionnerByIndex
  • deselectByValue
  • désélectionnerParVisibletext

Laissez-nous comprendre les méthodes en détail.

  • tout déselectionner (): Il efface toutes les entrées sélectionnées. Ceci n'est valide que lorsque l'élément déroulant prend en charge plusieurs sélections.

Exemple: oSélectionnez. tout déselectionner ()

  • deselectByIndex (): Ildésélectionne l'option à l'index donné.

Exemple: oSélectionnez. deselectByIndex (2)

  • deselectByValue (): Cette méthode permet de désélectionner l'option dont ' valeur 'L'attribut correspond au paramètre spécifique.

Exemple: oSélectionnez. deselectByValue ('13')

  • deselectByVisibletext (): Cette méthode aide à désélectionner l'option qui affiche le texte correspondant au paramètre.

Sélectionner une classe dans Selenium WebDriver: Comment sélectionner une option dans le menu déroulant?

Je vais vous aider à comprendre comment ça Sélectionner La méthode fonctionne avec un exemple en temps réel.

Dans ce cas, j'envisagerai de travailler sur un célèbre site e-commerce facebook.com.

  • Tout d'abord, ajoutez les bibliothèques Java sur votre système.
  • Un IDE où vous pouvez écrire le morceau de code. J'envisagerai de travailler sur l'IDE Eclipse car il est convivial.
  • Ajoutez des bibliothèques Selenium au projet.
  • Obtenez l'URL de la page Web.
  • Effectuez les actions souhaitées dans la liste déroulante.

J'ai expliqué cela en utilisant 2 programmes différents. Le premier programme vous aidera à sélectionner une valeur dans la liste déroulante et le second programme vous aidera à effectuer différentes opérations sur la liste déroulante.

variable d'instance dans l'exemple java
  • Tout d'abord, définissez le .
  • Obtenez l'URL de Facebook .
  • Créer un objet et recherchez l'élément à l'aide des localisateurs d'élément.
  • Sélectionnez l'objet du WebElement à l'aide des méthodes Select.
  • Quittez l'exécution du pilote.

Reportez-vous à ce code:

package Edurekaa import org.junit.Test import org.openqa.selenium.By import org.openqa.selenium.JavascriptExecutor import org.openqa.selenium.WebDriver import org.openqa.selenium.WebElement import org.openqa.selenium.chrome.ChromeDriver import org.openqa.selenium.support.ui.Select public class SelectClass {@Test public static void main (String [] args) throws InterruptedException {System.setProperty ('webdriver.chrome.driver', 'C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') WebDriver driver = nouveau ChromeDriver () driver.get (' http://www.facebook.com ') driver.manage (). window (). maximaliser () //js.executeScript('window. scrollBy (0,300) ') WebElement month_dropdown = driver.findElement (By.id (' day ')) Select oSelect = new Select (month_dropdown) oSelect.selectByIndex (3) Thread.sleep (3000) WebElement year_yy = driver.findElement (By .id ('year')) Select year_y = new Select (year_yy) year_y.selectByValue ('2000') Thread.sleep (3000) WebElement month_m = driver.findElement (By.id ('month')) Sele ct month_d1 = new Select (month_m) month_d1.selectByVisibleText ('Jul') driver.quit ()}}

Le deuxième programme traite de l'exécution des actions sur la liste déroulante. Dans ce cas, imprimons le nombre de mois et aussi les noms.

  • Créez une liste de WebElements et sélectionnez les options.
  • Obtenez la taille du menu déroulant du mois.
  • Imprimez la taille de la liste des mois.
  • Créer un autre objet du WebElement il et obtenez le nom du mois.
  • Imprimez le nombre en utilisant une boucle for.
  • Quittez l'exécution du pilote.
package Edurekaa import java.util.List import org.junit.Test import org.openqa.selenium.By import org.openqa.selenium.JavascriptExecutor import org.openqa.selenium.WebDriver import org.openqa.selenium.WebElement import org.openqa .selenium.chrome.ChromeDriver import org.openqa.selenium.support.ui.Select public class SelectClass2 {@Test public static void main (String [] args) lance InterruptedException {System.setProperty ('webdriver.chrome.driver', ' C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') Pilote WebDriver = nouveau pilote ChromeDriver () JavascriptExecutor js = (JavascriptExecutor) driver.get (' http://www.facebook.com ') driver.manage (). Window () .maximize () //js.executeScript('window.scrollBy(0,300) ') WebElement month_dropdown = driver.findElement (By.id (' month ')) Select oSelect = new Select (month_dropdown) List & ampampltWebElement & ampampgt month_list = oSelect.getOptions ( ) int total_month = month_list.size () System.out.println ('Le nombre total est' + total_month) pour (WebElement ele: month_list) {String month_name = ele.getText () System.out.println ('Les mois sont' + month_name)} driver.quit ()}}

Maintenant, avec cela, nous arrivons à la fin de ce blog «Comment sélectionner dans une liste déroulante dans Selenium WebDriver». J'espère que vous avez apprécié cet article et que vous avez compris comment la classe Select fonctionne dans Selenium.

Maintenant que vous avez compris comment sélectionner une valeur dans une liste déroulante à l'aide de Selenium, consultez le par Edureka, une entreprise d'apprentissage en ligne de confiance avec un réseau de plus de 650 000 apprenants satisfaits répartis dans le monde entier. Ce cours est conçu pour vous présenter les fonctionnalités complètes de Selenium et son importance dans les tests de logiciels.

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de «Comment faire une sélection dans une liste déroulante dans Selenium WebDriver» et nous vous répondrons.