Comment sélectionner une valeur dans DropDown à l'aide de Selenium Webdriver

Table des matières:

Anonim

Dans ce didacticiel, nous allons apprendre à gérer DropDown dans Selenium et les opérations de sélection multiple.

Sélectionnez une classe dans Selenium

La classe Select dans Selenium est une méthode utilisée pour implémenter la balise HTML SELECT. La balise de sélection html fournit des méthodes d'aide pour sélectionner et désélectionner les éléments. La classe Select est une classe ordinaire, donc le mot-clé New est utilisé pour créer son objet et il spécifie l'emplacement de l'élément Web.

Sélectionnez une option dans la liste déroulante

Voici un processus étape par étape sur la façon de sélectionner une valeur dans la liste déroulante de Selenium:

Avant de gérer la liste déroulante dans Selenium et de contrôler les listes déroulantes, nous devons faire les deux choses suivantes:

  1. Importez le package org.openqa.selenium.support.ui.Select
  2. Instanciez la liste déroulante en tant qu'objet, sélectionnez dans Selenium WebDriver

Par exemple, allez sur la page d'inscription de Mercury Tours (http://demo.guru99.com/test/newtours/register.php) et notez la liste déroulante "Pays".

Étape 1

Importez le package "Select".

Étape 2

Déclarez l'élément déroulant comme une instance de la classe Select. Dans l'exemple ci-dessous, nous avons nommé cette instance "drpCountry".

Étape 3

Nous pouvons maintenant commencer à contrôler "drpCountry" en utilisant l'une des méthodes Select disponibles pour sélectionner la liste déroulante dans Selenium. L'exemple de code ci-dessous sélectionnera l'option «ANTARCTIQUE».

Sélection d'éléments dans plusieurs éléments SELECT

Nous pouvons également utiliser la méthode selectByVisibleText () pour sélectionner plusieurs options dans un élément SELECT multiple. À titre d'exemple, nous prendrons http://jsbin.com/osebed/2 comme URL de base. Il contient une liste déroulante qui permet plusieurs sélections à la fois.

Le code ci-dessous sélectionnera les deux premières options à l'aide de la méthode selectByVisibleText ().

Sélectionnez les méthodes

Voici les méthodes les plus couramment utilisées dans la liste déroulante Selenium.

Méthode Description
selectByVisibleText () et deselectByVisibleText ( ) Exemple:
  • Sélectionne / désélectionne l'option qui affiche le texte correspondant au paramètre.
  • Paramètre : Le texte exactement affiché d'une option particulière
selectByValue () et deselectByValue ( ) Exemple:
  • Sélectionne / désélectionne l'option dont l'attribut "valeur" correspond au paramètre spécifié.
  • Paramètre : valeur de l'attribut "valeur"
  • N'oubliez pas que toutes les options de liste déroulante n'ont pas le même texte et la même «valeur», comme dans l'exemple ci-dessous.
selectByIndex () et deselectByIndex ( ) Exemple:
  • Sélectionne / désélectionne l'option à l'index donné.
  • Paramètre : l'index de l'option à sélectionner.
isMultiple () Exemple:
  • Renvoie TRUE si l'élément déroulant autorise plusieurs sélections à la fois; FAUX dans le cas contraire.
  • Aucun paramètre nécessaire
deselectAll () Exemple:
  • 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.
  • Aucun paramètre nécessaire

Voici le code complet

package newpackage;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import org.openqa.selenium.support.ui.Select;import org.openqa.selenium.By;public class accessDropDown {public static void main (String [] args) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");String baseURL = "http://demo.guru99.com/test/newtours/register.php";Pilote WebDriver = nouveau FirefoxDriver ();driver.get (baseURL);Select drpCountry = new Select (driver.findElement (By.name ("country")));drpCountry.selectByVisibleText ("ANTARCTIQUE");// Sélection d'éléments dans plusieurs éléments SELECTdriver.get ("http://jsbin.com/osebed/2");Select fruits = new Select (driver.findElement (By.id ("fruits")));fruits.selectByVisibleText ("Banane");fruits.selectByIndex (1);}}

Résumé

Élément Commander Description
Boîte déroulante selectByVisibleText () / deselectByVisibleText () sélectionne / désélectionne une option par son texte affiché
selectByValue () / deselectByValue () sélectionne / désélectionne une option par la valeur de son attribut "valeur"
selectByIndex () / deselectByIndex () sélectionne / désélectionne une option par son index
isMultiple () renvoie TRUE si l'élément déroulant permet une sélection multiple à la fois; FALSE sinon
tout déselectionner() désélectionne toutes les options précédemment sélectionnées

Pour contrôler les listes déroulantes, vous devez d'abord importer le package org.openqa.selenium.support.ui.Select, puis créer une instance Select.