Cómo seleccionar un valor de un menú desplegable en Selenium WebDriver



Este artículo lo ayuda a comprender qué es una clase Select en Selenium WebDriver y también cómo seleccionar un valor de una lista desplegable en Selenium WebDriver

Para realizar cualquier acción, la primeraLa tarea a realizar es identificar el grupo de elementos. Generalmente, mientras trabaja con , es posible que deba seleccionar algunos valores de la lista desplegable y también realizar otras actividades y validarlos. Por lo tanto, lo guiaré para comprender qué es una clase Select en Selenium WebDriver y cómo Seleccione un valor de una lista desplegable en Selenium WebDriver.

Discutiré este tema en este orden:





Entonces, comencemos.

Seleccionar clase en Selenium WebDriver

los Seleccione la clase es una clase que básicamente proporciona la implementación de la etiqueta HTML SELECT. Una etiqueta de selección proporciona a los métodos auxiliares opciones para seleccionar y deseleccionar. Esta clase se puede encontrar en Soporte de Selenium.UI.Select paquete. Select es en realidad una clase ordinaria, por lo que su objeto también es creado por la palabra clave Nuevo y también especifica la ubicación del elemento web.



Sintaxis:

Seleccionar oSeleccionar = nuevo Seleccionar ()

Lanzará un error pidiendo agregar argumentos al comando. Así que especifique la ubicación del elemento web usando el .

Dice claramente que Seleccione está solicitando un objeto de tipo de elemento para su constructor.



Después de este,una vez que obtienes el objeto de la SELECCIONAR clase , puede acceder a todos los métodos que residen en el SELECCIONE clase escribiendo oSeleccione + punto que proporcionará todos los métodos de la clase Select. Elija cualquier método de acuerdo con su caso de prueba.

Por lo tanto, avancemos para conocer los diferentes métodos de esta clase Select.

Seleccione la clase en Selenium WebDriver: Diferentes comandos de selección

A continuación, se muestran los métodos más utilizados para tratar la lista desplegable.

1. selectByVisibleText: selectByVisibleText (String arg0): void

Es muy fácil elegir o seleccionar una opción dada en cualquier menú desplegable y en varios cuadros de selección con este método. Toma un parámetro de String que es uno de los valor de Seleccionar elemento y no devuelve nada.

Sintaxis: oSelect.selectByVisibleText ('texto')

Ejemplo:

Seleccione oSelect = new Select (driver.findElement (By.id ('cuadro de búsqueda'))) oSelect.selectByVisibleText ('Blog')

2 . selectByIndex: selectByIndex (int arg0): void

Este método es casi similar a 'selectByVisibleText', pero la única diferencia aquí es que el usuario tiene que proporcionar el número de índice para la opción en lugar del texto de la opción. Toma el parámetro entero que es el valor de índice de Seleccionar elemento y no devuelve nada.

Synatx: oSelect.selectByIndex (int)

Ejemplo:

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

3. selectByValue: selectByValue (String arg0): void

Este método nuevamente es similar a lo que he discutido anteriormente, la única diferencia en este método es que solicita el valor de la opción en lugar del texto de la opción o un índice. Toma un parámetro de cadena que es uno de los valores de Seleccionar elemento y no devuelve nada.

encontrar el valor más alto en la matriz java

Sintaxis: oSelect.selectByValue ('texto')

Ejemplo:

Seleccione oSelect = new Select (driver.findElement (By.id ('Cuadro de búsqueda'))) oSelect.selectByValue ('Entrenamiento de certificación de selenio')

4. getOptions: getOptions (): Lista

Este método ayuda a obtener todas las opciones que pertenecen a la etiqueta Seleccionar. No toma ningún parámetro y regresa Lista .

Sintaxis: oSelect.getOptions ()

Ejemplo:

Seleccione oSelect = new Select (driver.findElement (By.id ('Cuadro de búsqueda'))) List elementCount = oSelect.getOptions () System.out.println (elementCount.size ())

Por lo tanto, avancemos al tema siguiente y conozcamos los métodos de selección múltiple.

Seleccione la clase en Selenium WebDriver: ¿Cómo funciona el comando Multiple SELECT?

El atributo de selección múltiple es una expresión booleana. Cuando está presente, especifica que se pueden seleccionar varias opciones a la vez. Estas opciones varían para diferentes sistemas operativos y navegadores, a saber:

  • Para ventanas: Mantenga pulsado el botón de control (ctrl) para seleccionar varias opciones.
  • Para Mac: Mantenga presionado el botón de comando para seleccionar múltiples opciones.

Es fácil de usar usar casillas de verificación en lugar de usar diferentes formas de realizar operaciones porque debe informar al usuario que hay múltiples selecciones disponibles. Existe un método que realmente ayuda a especificar que puede usar múltiples opciones de selección.

isMultiple

isMultiple (): booleano Este método indica si el elemento SELECT admite múltiples opciones de selección al mismo tiempo o no. Este método no acepta nada pero devuelve un valor booleano (verdadero / falso).

Sintaxis: oSelect.isMultiple ()

Ejemplo:

Select oSelect = new Select (driver.findElement (By.id (Element_ID))) oSelect.selectByIndex (índice) oSelect.selectByIndex (índice) // O se puede utilizar como oSelect.selectByVisibleText (texto) oSelect.selectByVisibleText (texto) / / O puede usarse como oSelect.selectByValue (valor) oSelect.selectByValue (valor)

Seleccionar clase en Selenium WebDriver: métodos DeSelect

Cuando selecciona un elemento en particular en la página web, existen algunos métodos que ayudarán a deseleccionar ese elemento. Pero el único desafío en estos métodos es que no funcionan para Desplegable y solo trabajo para Selección múltiple elementos.

En caso de que desee deseleccionar alguna opción preseleccionada, puede hacerlo con

  • deselectAll ()
  • deselectByIndex
  • deseleccionarByValue
  • deseleccionarByVisibletext

Entendamos los métodos en detalle.

  • deselectAll (): Borra todas las entradas seleccionadas. Esto solo es válido cuando el elemento desplegable admite múltiples selecciones.

Ejemplo: oSeleccione. deselectAll ()

  • deselectByIndex (): Esoanula la selección de la opción en el índice dado.

Ejemplo: oSeleccione. deseleccionarByIndex (2)

  • deselectByValue (): Este método ayuda a deseleccionar la opción cuyo ' valor ”El atributo coincide con el parámetro específico.

Ejemplo: oSeleccione. deselectByValue ('13')

  • deselectByVisibletext (): Este método ayuda a deseleccionar la opción que muestra el texto que coincide con el parámetro.

Seleccionar clase en Selenium WebDriver: ¿Cómo seleccionar una opción del menú desplegable?

Los ayudaré a entender cómo esto Seleccione El método funciona con un ejemplo en tiempo real.

En este caso, consideraré trabajar en un famoso sitio web de comercio electrónico. facebook.com.

  • Primero, agregue las bibliotecas de Java a su sistema.
  • Un IDE en el que puede escribir el fragmento de código. Consideraré trabajar en el IDE de Eclipse, ya que es fácil de usar.
  • Agregue bibliotecas de Selenium al proyecto.
  • Obtén la URL de la página web.
  • Realice las acciones deseadas en la lista desplegable.

He explicado esto usando 2 programas diferentes. El primer programa le ayudará a seleccionar un valor de la lista desplegable y el segundo programa le ayudará a realizar diferentes operaciones en la lista desplegable.

  • Primero, configure el .
  • Obtener la URL de Facebook .
  • Crear un objeto y busque el elemento utilizando los localizadores de elementos.
  • Seleccione el objeto del WebElement usando los métodos Select.
  • Salga de la ejecución del controlador.

Consulte este código:

paquete 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 = nuevo ChromeDriver () driver.get (' http://www.facebook.com ') driver.manage (). window (). maximizar () //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 (Por .id ('año')) Seleccione año_y = nuevo Seleccione (año_yy) año_y.selectByValue ('2000') Thread.sleep (3000) WebElement month_m = driver.findElement (By.id ('mes')) Sele ct month_d1 = new Select (month_m) month_d1.selectByVisibleText ('Jul') driver.quit ()}}

El segundo programa se ocupa de realizar acciones en la lista desplegable. En este caso, imprimamos el número de meses y también los nombres.

  • Cree una lista de WebElements y seleccione las opciones.
  • Obtenga el tamaño del menú desplegable.
  • Imprime el tamaño de la lista de meses.
  • Crea otro objeto del WebElement eso y obtenga el nombre del mes.
  • Imprime el número usando un bucle for.
  • Salga de la ejecución del controlador.
paquete 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) throws InterruptedException {System.setProperty ('webdriver.chrome.driver', ' C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') WebDriver driver = new ChromeDriver () JavascriptExecutor js = (JavascriptExecutor) driver 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 ('El recuento total es' + total_month) para (WebElement ele: month_list) {String month_name = ele.getText () System.out.println ('Los meses son' + month_name)} driver.quit ()}}

Ahora, con esto, llegamos al final de este blog 'Cómo seleccionar de un menú desplegable en Selenium WebDriver'. Espero que hayan disfrutado de este artículo y hayan entendido cómo funciona la clase Select en Selenium.

Ahora que ha entendido cómo Seleccionar un valor de una lista desplegable usando Selenium, consulte el por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 650.000 alumnos satisfechos repartidos por todo el mundo. Este curso está diseñado para presentarle las características completas de Selenium y su importancia en las pruebas de software.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios de “Cómo seleccionar de un menú desplegable en Selenium WebDriver” y nos comunicaremos con usted.