Hvordan velge en verdi fra rullegardinmenyen i Selenium WebDriver



Denne artikkelen hjelper deg å forstå hva som er en Select-klasse i Selenium WebDriver, og hvordan du velger en verdi fra en rullegardinliste i Selenium WebDriver.

For å utføre en handling, den førsteoppgaven å gjøre er å identifisere elementgruppen. Generelt, mens du jobber med , må du kanskje velge noen verdier fra rullegardinlisten og også utføre andre aktiviteter og validere dem. Så jeg vil veilede deg i å forstå hva som er en Select-klasse i Selenium WebDriver og hvordan du gjør det Å velge en verdi fra en rullegardinliste i Selenium WebDriver.

Jeg skal diskutere dette emnet i denne rekkefølgen:





Så la oss komme i gang.

Velg klasse i Selenium WebDriver

De Å velge klasse er en klasse som i utgangspunktet gir implementeringen av HTML SELECT-koden. En Select-tag gir hjelpermetodene valg og velg valg. Denne klassen finner du under Selenium's Support.UI.Select pakke. Select er faktisk en vanlig klasse, så objektet er også opprettet av nøkkelordet Ny og spesifiserer også plasseringen til webelementet.



Syntaks:

Velg oVelg = ny Velg ()

Det vil føre til en feil som ber om å legge til argumenter i kommandoen. Så spesifiser webelementets plassering ved hjelp av .

Det står tydelig at Å velge ber om et elementtype-objekt for konstruktøren.



Etter dette,når du får gjenstand for VELG klasse , kan du få tilgang til alle metodene som ligger i Å VELGE klasse ved å skrive oVelg + prikk som vil gi alle metodene under Select-klassen. Velg hvilken som helst metode i henhold til testsaken din.

La oss nå gå videre og lære om de forskjellige metodene under denne Select-klassen.

Velg klasse i Selenium WebDriver: Ulike utvalgskommandoer

Følgende er de mest brukte metodene for å håndtere rullegardinlisten.

en. selectByVisibleText: selectByVisibleText (String arg0): ugyldig

Det er veldig enkelt å velge eller velge et alternativ gitt under eventuelle nedtrekksbokser og flere valgbokser med denne metoden. Det tar en parameter for streng som er en av verdi av Velg element og det returnerer ingenting.

Syntaks: oSelect.selectByVisibleText (“tekst”)

Eksempel:

Velg oSelect = ny Velg (driver.findElement (By.id ('søkefelt'))) oSelect.selectByVisibleText ('Blogg')

2 . selectByIndex: selectByIndex (int arg0): ugyldig

Denne metoden er nesten lik 'selectByVisibleText', men den eneste forskjellen her er at brukeren må oppgi indeksnummeret for alternativet i stedet for alternativteksten. Det tar heltallsparameteren som er indeksverdien for Velg element og det returnerer ingenting.

Synatx: oSelect.selectByIndex (int)

Eksempel:

Velg oSelect = ny Velg (driver.findElement (By.id ('Seacrch-box'))) oSelect.selectByIndex (2)

3. selectByValue: selectByValue (String arg0): ugyldig

Denne metoden ligner igjen det jeg har diskutert tidligere, den eneste forskjellen i denne metoden, er at den ber om verdien av alternativet snarere alternativteksten eller en indeks. Det tar en strengparameter som er en av verdiene til Velg element og det gir ikke noe tilbake.

Syntaks: oSelect.selectByValue (“tekst”)

Eksempel:

Velg oSelect = ny Velg (driver.findElement (By.id ('søkefelt'))) oSelect.selectByValue ('Selenium Certification training')

Fire. getOptions: getOptions (): Liste

Denne metoden hjelper deg med å få alle alternativene som tilhører Select-koden. Det tar ingen parameter og returnerer Liste .

Syntaks: oSelect.getOptions ()

Eksempel:

Velg oSelect = ny Velg (driver.findElement (By.id ('søkefelt'))) ListeelementCount = oSelect.getOptions () System.out.println (elementCount.size ())

Så la oss gå videre til neste emne og lære om metodene for flere valg

Velg klasse i Selenium WebDriver: Hvordan fungerer Multiple SELECT-kommandoen?

Multiple select-attributtet er et boolsk uttrykk. Når dette er til stede, spesifiserer det at flere alternativer kan velges samtidig. Disse alternativene varierer for forskjellige operativsystemer og nettlesere, nemlig:

  • For Windows: Hold inne kontrollknappen (ctrl) for å velge flere alternativer.
  • For Mac: Hold kommandoknappen nede for å velge flere alternativer.

Det er brukervennlig å bruke avkrysningsruter i stedet for å bruke forskjellige måter å utføre operasjoner på, fordi du må informere brukeren om at flere valg er tilgjengelige. Det er en metode som faktisk hjelper til med å spesifisere at du kan bruke flere valgalternativer.

er flere

isMultiple (): boolsk - Denne metoden forteller om SELECT-elementet støtter flere valgalternativer samtidig eller ikke. Denne metoden godtar ingenting, men returnerer en boolsk verdi (true / false).

Syntaks: oSelect.isMultiple ()

Eksempel:

Velg oSelect = ny Velg (driver.findElement (By.id (Element_ID))) oSelect.selectByIndex (index) oSelect.selectByIndex (index) // Eller kan brukes som oSelect.selectByVisibleText (tekst) oSelect.selectByVisibleText (tekst) / Eller kan brukes som oSelect.selectByValue (verdi) oSelect.selectByValue (verdi)

Velg klasse i Selenium WebDriver: Avvelg metoder

Når du velger et bestemt element på nettsiden, er det noen få metoder som kan hjelpe deg med å velge bort elementet. Men den eneste utfordringen i disse metodene er at de ikke fungerer for Fall ned og bare jobbe for Flervalg elementer.

Hvis du vil oppheve valget av et forhåndsvalgt alternativ, kan det gjøres med begge

  • Opphev alle ()
  • fravelgByIndex
  • fravelgByValue
  • fravelgByVisibletext

La oss forstå metodene i detalj.

  • Opphev alle (): Den tømmer alle valgte oppføringer. Dette er bare gyldig når rullegardinelementet støtter flere valg.

Eksempel: oVelg. Opphev alle ()

  • deselectByIndex (): Denavmarkerer alternativet i den gitte indeksen.

Eksempel: oVelg. fravelgeByIndex (2)

  • deselectByValue (): Denne metoden hjelper til med å fjerne valget hvis “ verdi ”-Attributtet samsvarer med den spesifikke parameteren.

Eksempel: oVelg. deselectByValue (“13”)

  • fravelgeByVisibletext (): Denne metoden hjelper til med å fjerne markeringen av alternativet som viser teksten som samsvarer med parameteren.

Velg klasse i Selenium WebDriver: Hvordan velger du et alternativ fra rullegardinmenyen?

Jeg vil hjelpe dere å forstå hvordan dette Å velge metoden fungerer med et sanntidseksempel.

I dette tilfellet vil jeg vurdere å jobbe på et kjent netthandelsnettsted facebook.com.

  • Først legger du til Java-bibliotekene på systemet ditt.
  • En IDE hvor du kan skrive kodebiten. Jeg vil vurdere å jobbe med Eclipse IDE ettersom den er brukervennlig.
  • Legg til selenbiblioteker i prosjektet.
  • Få nettadressen til websiden.
  • Utfør ønskede handlinger på rullegardinlisten.

Jeg har forklart dette ved hjelp av to forskjellige programmer. Det første programmet hjelper deg med å velge en verdi fra rullegardinlisten, og det andre programmet hjelper deg med å utføre forskjellige operasjoner på rullegardinlisten.

  • Sett først .
  • Få nettadressen til Facebook .
  • Lage en objekt og finn elementet ved hjelp av elementlokatorene.
  • Velg objektet til WebElement ved hjelp av Velg-metodene.
  • Avslutt sjåførutførelsen.

Se denne koden:

hvordan du gjør nestede tabeller i html
pakke 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 importer org.openqa.selenium.support.ui.Select public class SelectClass {@Test public static void main (String [] args) throw InterruptedException {System.setProperty ('webdriver.chrome.driver', 'C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') WebDriver driver = ny ChromeDriver () driver.get (' http://www.facebook.com ') driver.manage (). vindu (). maksimer () //js.executeScript('window. scrollBy (0,300) ') WebElement month_dropdown = driver.findElement (By.id (' day ')) Velg oSelect = new Velg (month_dropdown) oSelect.selectByIndex (3) Thread.sleep (3000) WebElement year_yy = driver.findElement (By .id ('year')) Velg year_y = new Velg (year_yy) year_y.selectByValue ('2000') Thread.sleep (3000) WebElement month_m = driver.findElement (By.id ('month')) Sele ct month_d1 = new Velg (month_m) month_d1.selectByVisibleText ('Jul') driver.quit ()}}

Det andre programmet handler om å utføre handlinger på rullegardinlisten. La oss i dette tilfellet skrive ut antall måneder og også navnene.

  • Lag en liste over WebElements og velg alternativene.
  • Få rullegardinmenyen for størrelsen på måneden.
  • Skriv ut størrelsen på månedslisten.
  • Opprett et annet objekt av WebElement den og få navnet på måneden.
  • Skriv ut nummeret med en for-løkke.
  • Avslutt sjåførutførelsen.
pakke 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 importerer org.openqa.selenium.support.ui.Velg offentlig klasse SelectClass2 {@Test offentlig statisk ugyldig hoved (String [] args) kaster InterruptedException {System.setProperty ('webdriver.chrome.driver', ' C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') WebDriver driver = ny ChromeDriver () JavascriptExecutor js = (JavascriptExecutor) driver driver.get (' http://www.facebook.com ') driver.manage (). Vindu () .maximize () //js.executeScript('window.scrollBy(0,300) ') WebElement month_dropdown = driver.findElement (By.id (' month ')) Velg oSelect = ny Velg (month_dropdown) Liste & ampampltWebElement & ampampgt month_list = oSelect.getOptions ) int total_month = month_list.size () System.out.println ('Total count is' + total_month) for (WebElement ele: month_list) {String month_name = ele.getText () System.out.println ('Måneder er' + måned_navn)} driver.quit ()}}

Nå med dette kommer vi til en slutt på denne 'Hvordan velge fra rullegardinmenyen i Selen WebDriver' -bloggen. Jeg håper dere likte denne artikkelen og forsto hvordan Select class fungerer i Selen.

Nå som du har forstått hvordan du velger en verdi fra en rullegardinliste ved hjelp av Selen, sjekk ut av Edureka, et pålitelig online læringsfirma med et nettverk av mer enn 650 000 fornøyde elever spredt over hele verden. Dette kurset er designet for å introdusere deg for de komplette Selen-funksjonene og dens betydning i testing av programvare.

Har du spørsmål til oss? Vennligst nevn det i kommentarfeltet i “Hvordan velge fra en rullegardinmeny i Selenium WebDriver”, så kommer vi tilbake til deg.