Sådan vælges værdi fra DropDown ved hjælp af Selenium Webdriver

Indholdsfortegnelse:

Anonim

I denne vejledning lærer vi, hvordan man håndterer DropDown i Selenium og Multiple Select Operations.

Vælg klasse i selen

Den Select Class i selen er en metode, der anvendes til at implementere HTML SELECT-tag. Html select-tag giver hjælpemetoder til at vælge og fravælge elementerne. Select-klassen er en almindelig klasse, så Nyt nøgleord bruges til at oprette sit objekt, og det angiver placeringen af ​​webelementet.

Vælg Option fra rullemenuen

Følgende er en trinvis proces om, hvordan man vælger værdi fra rullemenuen i Selen:

Før vi håndterer dropdown i Selen og styrer drop-down bokse, skal vi gøre følgende to ting:

  1. Importer pakken org.openqa.selenium.support.ui.Select
  2. Instantier rullemenuen som et objekt, vælg i Selen WebDriver

Gå som eksempel til Mercury Tours registreringsside (http://demo.guru99.com/test/newtours/register.php) og bemærk rullelisten "Land" der.

Trin 1

Importer pakken "Vælg".

Trin 2

Erklær drop-down-elementet som en forekomst af Select-klassen. I eksemplet nedenfor navngav vi denne forekomst som "drpCountry".

Trin 3

Vi kan nu begynde at kontrollere "drpCountry" ved hjælp af en af ​​de tilgængelige Select-metoder til at vælge dropdown i Selen. Eksempelkoden nedenfor vælger indstillingen "ANTARCTICA."

Valg af emner i flere SELECT-elementer

Vi kan også bruge metoden selectByVisibleText () til at vælge flere indstillinger i et multi SELECT-element. Som et eksempel vil vi tage http://jsbin.com/osebed/2 som basis-URL. Den indeholder en rulleliste, der tillader flere valg ad gangen.

Koden nedenfor vælger de to første indstillinger ved hjælp af metoden selectByVisibleText ().

Vælg metoder

Følgende er de mest almindelige metoder, der bruges på Selen-rullelisten.

Metode Beskrivelse
selectByVisibleText () og fravælgByVisibleText () Eksempel:
  • Vælger / fravælger den indstilling, der viser teksten, der matcher parameteren.
  • Parameter : Den nøjagtigt viste tekst for en bestemt indstilling
selectByValue () og deselectByValue () Eksempel:
  • Vælger / fravælger den indstilling, hvis "værdi" -attribut matcher den angivne parameter.
  • Parameter : værdi for attributten "værdi"
  • Husk, at ikke alle rullemenuer har den samme tekst og "værdi", som i eksemplet nedenfor.
selectByIndex () og fravælgByIndex () Eksempel:
  • Vælger / fravælger indstillingen ved det givne indeks.
  • Parameter : indekset for den valgmulighed, der skal vælges.
isMultiple () Eksempel:
  • Returnerer SAND, hvis rullemenuen tillader flere valg ad gangen; FALSK, hvis ikke andet.
  • Ingen parametre nødvendige
deselectAll () Eksempel:
  • Rydder alle valgte poster. Dette er kun gyldigt, når rullemenuen understøtter flere valg.
  • Ingen parametre nødvendige

Her er den komplette kode

ny emballage;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;import org.openqa.selenium.support.ui.Select;importer org.openqa.selenium.By;adgang 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);Vælg drpCountry = ny Vælg (driver.findElement (By.name ("land")));drpCountry.selectByVisibleText ("ANTARCTICA");// Valg af emner i flere SELECT-elementerdriver.get ("http://jsbin.com/osebed/2");Vælg frugter = nyt Vælg (driver.findElement (By.id ("frugter")));fruits.selectByVisibleText ("Banan");fruits.selectByIndex (1);}}

Resumé

Element Kommando Beskrivelse
Drop-down boks selectByVisibleText () / fravælgByVisibleText () vælger / fravælger en indstilling ved hjælp af den viste tekst
selectByValue () / fravælgByValue () vælger / fravælger en indstilling efter værdien af ​​dens "værdi" -attribut
selectByIndex () / fravælgByIndex () vælger / fravælger en indstilling ved hjælp af dens indeks
isMultiple () returnerer SAND, hvis rullemenuen tillader flere valg ad gangen; FALSK, hvis ikke andet
Fravælg alle() fravælger alle tidligere valgte indstillinger

For at kontrollere rullelister skal du først importere org.openqa.selenium.support.ui.Select-pakken og derefter oprette en Select-forekomst.