Hvordan velge verdi fra DropDown ved hjelp av Selenium Webdriver

Innholdsfortegnelse:

Anonim

I denne opplæringen vil vi lære hvordan du håndterer DropDown i Selenium og Multiple Select Operations.

Velg klasse i selen

Den Velg klasse i Selen er en metode som brukes for å implementere HTML SELECT tag. HTML-merket gir hjelpemetoder for å velge og fjerne merking av elementene. Select-klassen er en vanlig klasse, så Nytt nøkkelord brukes til å opprette objektet, og det angir webelementets plassering.

Velg alternativ fra rullegardinboksen

Følgende er en trinnvis prosess for hvordan du velger verdi fra rullegardinmenyen i Selen:

Før vi håndterer rullegardinmenyen i Selen og kontrollerer rullegardinlistene, må vi gjøre følgende to ting:

  1. Importer pakken org.openqa.selenium.support.ui.Select
  2. Instanter rullegardinboksen som et objekt, velg i Selenium WebDriver

Gå som eksempel til Mercury Tours registreringsside (http://demo.guru99.com/test/newtours/register.php) og legg merke til rullegardinboksen "Land" der.

Trinn 1

Importer "Velg" -pakken.

Steg 2

Erklær rullegardinelementet som en forekomst av Select-klassen. I eksemplet nedenfor kalte vi denne forekomsten som "drpCountry".

Trinn 3

Vi kan nå begynne å kontrollere "drpCountry" ved å bruke en av de tilgjengelige Velg-metodene for å velge rullegardin i Selen. Eksempelkoden nedenfor vil velge alternativet "ANTARCTICA."

Velge elementer i flere SELECT-elementer

Vi kan også bruke selectByVisibleText () -metoden til å velge flere alternativer i et multi SELECT-element. Som et eksempel tar vi http://jsbin.com/osebed/2 som grunn-URL. Den inneholder en rullegardinrute som tillater flere valg om gangen.

Koden nedenfor velger de to første alternativene ved å bruke metoden selectByVisibleText ().

Velg Metoder

Følgende er de vanligste metodene som brukes på Selen-rullegardinlisten.

Metode Beskrivelse
selectByVisibleText () og deselectByVisibleText () Eksempel:
  • Velger / fravelger alternativet som viser teksten som samsvarer med parameteren.
  • Parameter : Den nøyaktig viste teksten til et bestemt alternativ
selectByValue () og deselectByValue () Eksempel:
  • Velger / fjerner merket for alternativet hvis "verdi" -attributt samsvarer med den angitte parameteren.
  • Parameter : verdien for attributtet "verdi"
  • Husk at ikke alle rullegardinmenyene har samme tekst og "verdi", som i eksemplet nedenfor.
selectByIndex () og deselectByIndex () Eksempel:
  • Velger / opphever valget ved den gitte indeksen.
  • Parameter : indeksen til alternativet som skal velges.
isMultiple () Eksempel:
  • Returnerer SANT hvis rullegardinelementet tillater flere valg om gangen; FALSK hvis ikke annet.
  • Ingen parametere nødvendig
deselectAll () Eksempel:
  • Fjerner alle valgte oppføringer. Dette er bare gyldig når rullegardinelementet støtter flere valg.
  • Ingen parametere nødvendig

Her er den fullstendige koden

pakken ny pakke;importer org.openqa.selenium.WebDriver;importer org.openqa.selenium.firefox.FirefoxDriver;importer org.openqa.selenium.support.ui.Select;importer org.openqa.selenium.By;tilgang til offentlig klasseDropDown {public static void main (String [] args) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");Streng baseURL = "http://demo.guru99.com/test/newtours/register.php";WebDriver-driver = ny FirefoxDriver ();driver.get (baseURL);Velg drpCountry = ny Velg (driver.findElement (By.name ("land")));drpCountry.selectByVisibleText ("ANTARCTICA");// Velge elementer i flere SELECT-elementerdriver.get ("http://jsbin.com/osebed/2");Velg frukt = ny Velg (driver.findElement (By.id ("frukt")));fruits.selectByVisibleText ("Banana");fruits.selectByIndex (1);}}

Sammendrag

Element Kommando Beskrivelse
Nedtrekksboks selectByVisibleText () / fravelgeByVisibleText () velger / fjerner merket for et alternativ med den viste teksten
selectByValue () / fravelgeByValue () velger / fjerner merket for et alternativ etter verdien av "verdi" -attributtet
selectByIndex () / fravelgeByIndex () velger / fjerner merket for et alternativ med indeksen
isMultiple () returnerer SANT hvis rullegardinelementet tillater flere valg om gangen; FALSK hvis ikke annet
Opphev alle() fjerner valget av alle tidligere valgte alternativer

For å kontrollere rullegardinboksene, må du først importere org.openqa.selenium.support.ui.Select-pakken og deretter opprette en Select-forekomst.