Com seleccionar un valor d'un menú desplegable a Selenium WebDriver

Aquest article us ajuda a entendre què és una classe Select a Selenium WebDriver i també com seleccionar un valor d'una llista desplegable a Selenium WebDriver

Per realitzar qualsevol acció, la primerala tasca a fer és identificar el grup d'elements. En general, mentre es treballa amb , és possible que hàgiu de seleccionar alguns valors de la llista desplegable i realitzar altres activitats i validar-les. Per tant, us guiaré per entendre què és una classe Select a Selenium WebDriver i com fer-ho Seleccioneu un valor d'una llista desplegable a Selenium WebDriver.



Discutiré aquest tema en aquest ordre:



Per tant, comencem.

Seleccioneu una classe a Selenium WebDriver

El Seleccioneu classe és un classe que bàsicament proporciona la implementació de l'etiqueta HTML SELECT. Una etiqueta de selecció proporciona als mètodes d'assistència opcions de selecció i desselecció. Aquesta classe es pot trobar a Selenium’s Support.UI.Select paquet. Select és en realitat una classe ordinària, de manera que el seu objecte també es crea amb la paraula clau Novetat i també especifica la ubicació de l'element web.



Sintaxi:

Selecciona oSelecciona = nou Selecciona ()

Es produirà un error demanant que s'afegeixin arguments a l'ordre. Especifiqueu la ubicació de l’element web mitjançant el fitxer .

Ho afirma clarament Seleccioneu demana un objecte de tipus element per al seu constructor.



Després d'això,un cop obtingueu l'objecte del fitxer SELEIX la classe , podeu accedir a tots els mètodes que resideixen a SELECCIONA classe escrivint o Seleccioneu + punt que proporcionarà tots els mètodes de la classe Select. Trieu qualsevol mètode segons el cas de prova.

Per tant, ara anem a avançar per conèixer els diferents mètodes d’aquesta classe Select.

Seleccioneu una classe a Selenium WebDriver: Diferents ordres de selecció

A continuació es mostren els mètodes més utilitzats per fer front a la llista desplegable.

1. selectByVisibleText: selectByVisibleText (String arg0): void

Amb aquest mètode és molt fàcil triar o seleccionar una opció donada a qualsevol menú desplegable i diversos quadres de selecció. Pren un paràmetre de cadena que és un dels valor de Selecciona element i no retorna res.

Sintaxi: oSelect.selectByVisibleText ('text')

Exemple:

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

2 . selectByIndex: selectByIndex (int arg0): buit

Aquest mètode és gairebé similar al de 'selectByVisibleText', però l'única diferència aquí és que l'usuari ha de proporcionar el número d'índex de l'opció en lloc del text de l'opció. Pren el paràmetre enter que és el valor de l’índex Seleccioneu l’element i no retorna res.

Synatx: oSelect.selectByIndex (int)

Exemple:

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

3. selectByValue: selectByValue (String arg0): buit

Aquest mètode torna a ser similar al que he comentat anteriorment, l’única diferència d’aquest mètode és que demana el valor de l’opció més aviat el text de l’opció o un índex. Pren un paràmetre String que és un dels valors de Seleccioneu l’element i no retorna res.

Sintaxi: oSelect.selectByValue ('text')

Exemple:

Select oSelect = new Select (driver.findElement (By.id ('Search-box'))) oSelect.selectByValue ('Formació en certificació de seleni')

4. getOptions: getOptions (): Llista

c ++ Fibonacci recursiu

Aquest mètode ajuda a obtenir totes les opcions que pertanyen a l'etiqueta Select. No pren cap paràmetre i torna Llista .

Sintaxi: oSelect.getOptions ()

Exemple:

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

Per tant, anem al següent tema i coneixem els mètodes de selecció múltiple

Seleccioneu una classe a Selenium WebDriver: Com funciona l'ordre SELECT múltiple?

L'atribut de selecció múltiple és una expressió booleana. Quan això és present, especifica que es poden seleccionar diverses opcions alhora. Aquestes opcions varien segons els diferents sistemes operatius i navegadors:

  • Per a Windows: Mantingueu premut el botó de control (ctrl) per seleccionar diverses opcions.
  • Per a Mac: Manteniu premut el botó d'ordre per seleccionar diverses opcions.

És fàcil d'utilitzar caselles de selecció en lloc d'utilitzar diferents maneres de realitzar operacions, ja que heu d'informar l'usuari que hi ha diverses seleccions disponibles. Hi ha un mètode que ajuda a especificar que podeu utilitzar diverses opcions de selecció.

ésMúltiple

isMultiple (): booleà - Aquest mètode indica si l'element SELECT admet múltiples opcions de selecció alhora o no. Aquest mètode no accepta res, però retorna un valor booleà (vertader / fals).

Sintaxi: oSelect.isMultiple ()

Exemple:

Select oSelect = new Select (driver.findElement (By.id (Element_ID))) oSelect.selectByIndex (index) oSelect.selectByIndex (index) // O es pot utilitzar com oSelect.selectByVisibleText (text) oSelect.selectByVisibleText (text) / / O es pot utilitzar com oSelect.selectByValue (valor) oSelect.selectByValue (valor)

Seleccioneu la classe a Selenium WebDriver: deseleccioneu els mètodes

Quan seleccioneu un element concret a la pàgina web, hi ha alguns mètodes que us ajudaran a desseleccionar-lo. Però l’únic repte d’aquests mètodes és que no funcionen DropDown i només funcionen per Selecció múltiple elements.

En cas que vulgueu desseleccionar qualsevol opció preseleccionada, es pot fer amb qualsevol

  • deseleccionar tot ()
  • deseleccionaByIndex
  • desseleccionaValor
  • desseleccionaByVisibletext

Anem a entendre els mètodes en detall.

  • deseleccionar tot (): Esborra totes les entrades seleccionades. Això només és vàlid quan l'element desplegable admet diverses seleccions.

Exemple: oSelecciona. deseleccionar tot ()

  • deselectByIndex (): Aixòdesselecciona l'opció a l'índex donat.

Exemple: oSelecciona. deseleccionaByIndex (2)

  • deselectByValue (): Aquest mètode ajuda a anul·lar la selecció de l'opció ' valor 'L'atribut coincideix amb el paràmetre específic.

Exemple: oSelecciona. desseleccionaValor ('13')

  • deselectByVisibletext (): Aquest mètode ajuda a deseleccionar l'opció que mostra el text que coincideix amb el paràmetre.

Selecciona una classe a Selenium WebDriver: Com seleccionar una opció al menú desplegable?

Els ajudaré a entendre com funciona això Seleccioneu funciona amb un exemple en temps real.

En aquest cas, consideraré treballar en un famós lloc web de comerç electrònic facebook.com.

  • Primer, afegiu les biblioteques Java al vostre sistema.
  • Un IDE on podeu escriure el fragment de codi. Vull plantejar-me treballar en l’IDE ​​Eclipse, ja que és fàcil d’utilitzar.
  • Afegiu biblioteques Selenium al projecte.
  • Obteniu l'URL de la pàgina web.
  • Realitzeu les accions desitjades a la llista desplegable.

Ho he explicat amb dos programes diferents. El primer programa us ajudarà a seleccionar un valor de la llista desplegable i el segon programa us ajudarà a realitzar diferents operacions a la llista desplegable.

  • En primer lloc, configureu el fitxer .
  • Obteniu l'URL de Facebook .
  • Crea un objecte i cerqueu l'element mitjançant els localitzadors d'elements.
  • Seleccioneu l'objecte del WebElement mitjançant els mètodes Selecciona.
  • Surt de l'execució del controlador.

Consulteu aquest codi:

paquet 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 = new ChromeDriver () driver.get (' http://www.facebook.com ') driver.manage (). window (). maximize () //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 ('any')) Selecciona year_y = new Selecciona (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 ()}}

El segon programa tracta de realitzar accions a la llista desplegable. En aquest cas, imprimim el nombre de mesos i també els noms.

  • Creeu una llista d’elements web i seleccioneu les opcions.
  • Obteniu el menú desplegable de la mida del mes.
  • Imprimiu la mida de la llista de mesos.
  • Creeu un altre objecte del WebElement això i obtingueu el nom del mes.
  • Imprimiu el número amb un bucle for.
  • Surt de l'execució del controlador.
paquet 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 ('Total count is' + total_month) for (WebElement ele: llista_mes) {String nom_mes = ele.getText () System.out.println ('Els mesos són' + nom_mes)} driver.quit ()}}

Ara amb això, arribem al final d’aquest bloc “Com seleccionar des d’un menú desplegable a Selenium WebDriver”. Espero que us hagi agradat aquest article i hàgiu entès com funciona la classe Select a Selenium.

com utilitzar un iterador

Ara que ja heu entès com seleccionar un valor d'una llista desplegable mitjançant Selenium, consulteu el per Edureka, una empresa d'aprenentatge en línia de confiança amb una xarxa de més de 650.000 estudiants satisfets repartits per tot el món. Aquest curs està dissenyat per presentar-vos les funcions completes de Selenium i la seva importància en les proves de programari.

Tens alguna pregunta? Esmenteu-lo a la secció de comentaris de 'Com seleccionar un menú desplegable de Selenium WebDriver' i us respondrem.