En este tutorial, aprenderemos cómo manejar DropDown en Selenium y operaciones de selección múltiple.
Seleccionar clase en selenio
La clase de selección en Selenium es un método utilizado para implementar la etiqueta SELECT de HTML. La etiqueta html select proporciona métodos auxiliares para seleccionar y deseleccionar los elementos. La clase Select es una clase ordinaria, por lo que la palabra clave New se usa para crear su objeto y especifica la ubicación del elemento web.
Seleccione la opción del cuadro desplegable
A continuación se muestra un proceso paso a paso sobre cómo seleccionar el valor del menú desplegable en Selenium:
Antes de manejar el menú desplegable en Selenium y controlar los cuadros desplegables, debemos hacer las siguientes dos cosas:
- Importe el paquete org.openqa.selenium.support.ui.Select
- Cree una instancia del cuadro desplegable como un objeto, seleccione en Selenium WebDriver
Como ejemplo, vaya a la página de registro de Mercury Tours (http://demo.guru99.com/test/newtours/register.php) y observe el cuadro desplegable "País" allí.
Paso 1
Importe el paquete "Seleccionar".
Paso 2
Declare el elemento desplegable como una instancia de la clase Select. En el siguiente ejemplo, nombramos esta instancia como "drpCountry".
Paso 3
Ahora podemos empezar a controlar "drpCountry" utilizando cualquiera de los métodos de selección disponibles para seleccionar el menú desplegable en Selenium. El código de muestra a continuación seleccionará la opción "ANTARCTICA".
Seleccionar elementos en varios elementos SELECT
También podemos usar el método selectByVisibleText () para seleccionar múltiples opciones en un elemento SELECT múltiple. Como ejemplo, tomaremos http://jsbin.com/osebed/2 como la URL base. Contiene un cuadro desplegable que permite múltiples selecciones a la vez.
El siguiente código seleccionará las dos primeras opciones usando el método selectByVisibleText ().
Seleccionar métodos
Los siguientes son los métodos más comunes utilizados en la lista desplegable de selenio.
Método | Descripción |
---|---|
selectByVisibleText () y deselectByVisibleText () Ejemplo: |
|
selectByValue () y deselectByValue () Ejemplo: |
|
selectByIndex () y deselectByIndex () Ejemplo: |
|
isMultiple () Ejemplo: |
|
deselectAll () Ejemplo: |
|
Aquí está el código completo
paquete nuevo paquete;importar org.openqa.selenium.WebDriver;importar org.openqa.selenium.firefox.FirefoxDriver;importar 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";Controlador WebDriver = nuevo FirefoxDriver ();driver.get (baseURL);Seleccione drpCountry = new Select (driver.findElement (By.name ("country")));drpCountry.selectByVisibleText ("ANTÁRTIDA");// Seleccionar elementos en varios elementos SELECTdriver.get ("http://jsbin.com/osebed/2");Seleccionar frutas = nuevo Seleccionar (driver.findElement (By.id ("frutas")));fruit.selectByVisibleText ("Plátano");fruit.selectByIndex (1);}}
Resumen
Elemento | Mando | Descripción |
---|---|---|
Caja desplegable | selectByVisibleText () / deselectByVisibleText () | selecciona / anula la selección de una opción por su texto mostrado |
selectByValue () / deselectByValue () | selecciona / anula la selección de una opción por el valor de su atributo "valor" | |
selectByIndex () / deselectByIndex () | selecciona / deselecciona una opción por su índice | |
isMultiple () | devuelve VERDADERO si el elemento desplegable permite una selección múltiple a la vez; FALSO si es de otra manera | |
deseleccionar todo () | anula la selección de todas las opciones seleccionadas previamente |
Para controlar los cuadros desplegables, primero debe importar el paquete org.openqa.selenium.support.ui.Select y luego crear una instancia Select.