Hur man väljer ett värde från en rullgardinsmeny i Selenium WebDriver



Den här artikeln hjälper dig att förstå vad som är en Select-klass i Selenium WebDriver och hur du väljer ett värde från en listruta i Selenium WebDriver

För att utföra någon åtgärd, den förstauppgiften att göra är att identifiera elementgruppen. Generellt när du arbetar med , kanske du måste välja några värden i listrutan och även utföra andra aktiviteter och validera dem. Så jag kommer att vägleda dig för att förstå vad som är en Select-klass i Selen WebDriver och hur du gör det Välj ett värde från en rullgardinslista i Selenium WebDriver.

Jag kommer att diskutera detta ämne i den här ordningen:





Så låt oss komma igång.

Välj klass i Selen WebDriver

De Välj klass är en klass som i princip tillhandahåller implementeringen av HTML SELECT-taggen. En Select-tagg ger hjälpmetoderna val och avmarkera alternativ. Denna klass finns under Seleniums support.UI.Select paket. Select är faktiskt en vanlig klass, så dess objekt skapas också av nyckelordet Ny och anger också platsen för webbelementet.



Syntax:

vad gör en Linux-administratör
Välj oVälj = ny Välj ()

Det kommer att orsaka ett fel som ber om att lägga till argument i kommandot. Så ange plats för webbelement med hjälp av .

Det står tydligt att Välj ber om ett elementtypsobjekt för dess konstruktör.



Efter det här,när du väl har fått objektet av VÄLJ klass , kan du komma åt alla metoder som finns i VÄLJ klass genom att skriva oVälj + punkt som kommer att tillhandahålla alla metoder under klassen Välj. Välj vilken metod som helst enligt ditt testfall.

Så nu ska vi gå vidare och lära oss om de olika metoderna under denna Select-klass.

Välj klass i Selenium WebDriver: Olika kommandon

Följande är de vanligaste metoderna för att hantera listrutan.

ett. selectByVisibleText: selectByVisibleText (String arg0): ogiltig

Det är väldigt enkelt att välja eller välja ett alternativ som ges under valbara listrutor och flera markeringsrutor med den här metoden. Det tar en parameter av Sträng som är en av värde av Välj element och det returnerar ingenting.

Syntax: oSelect.selectByVisibleText (“text”)

Exempel:

Välj oSelect = ny Välj (driver.findElement (By.id ('sökruta'))) oSelect.selectByVisibleText ('Blogg')

2 . selectByIndex: selectByIndex (int arg0): ogiltig

Den här metoden liknar nästan 'selectByVisibleText', men den enda skillnaden här är att användaren måste ange indexnumret för alternativet snarare alternativtexten. Det tar heltalsparametern som är indexvärdet för Välj element och det returnerar ingenting.

Synatx: oSelect.selectByIndex (int)

Exempel:

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

3. selectByValue: selectByValue (String arg0): ogiltigt

Den här metoden liknar igen vad jag har diskuterat tidigare, den enda skillnaden i den här metoden, är att den ber om värdet på alternativet snarare alternativstexten eller ett index. Det tar en strängparameter som är ett av värdena för Välj element och det returnerar ingenting.

Syntax: oSelect.selectByValue (“text”)

Exempel:

Välj oSelect = ny Välj (driver.findElement (By.id ('Sökruta'))) oSelect.selectByValue ('Selenium Certification training')

Fyra. getOptions: getOptions (): Lista

Denna metod hjälper till att få alla alternativ som tillhör Select-taggen. Det tar ingen parameter och returnerar Lista .

Syntax: oSelect.getOptions ()

Exempel:

Välj oSelect = ny Välj (driver.findElement (By.id ('Sökruta'))) ListelementCount = oSelect.getOptions () System.out.println (elementCount.size ())

Så låt oss gå vidare till nästa ämne och lära oss om metoderna för flera val

Välj klass i Selenium WebDriver: Hur fungerar flera SELECT-kommandon?

Attributet multiple select är ett booleskt uttryck. När detta är närvarande anger det att flera alternativ kan väljas samtidigt. Dessa alternativ varierar för olika operativsystem och webbläsare, nämligen:

  • För Windows: Håll ned kontrollknappen (ctrl) för att välja flera alternativ.
  • För Mac: Håll ned kommandoknappen för att välja flera alternativ.

Det är användarvänligt att använda kryssrutor istället för att använda olika sätt att utföra åtgärder eftersom du måste informera användaren om att flera val är tillgängliga. Det finns en metod som faktiskt hjälper till att ange att du kan använda flera alternativ.

är flera

isMultiple (): boolean - Den här metoden berättar om SELECT-elementet stöder flera valmöjligheter samtidigt eller inte. Denna metod accepterar ingenting men returnerar ett booleskt värde (true / false).

Syntax: oSelect.isMultiple ()

Exempel:

Välj oSelect = ny Välj (driver.findElement (By.id (Element_ID))) oSelect.selectByIndex (index) oSelect.selectByIndex (index) // Eller kan användas som oSelect.selectByVisibleText (text) oSelect.selectByVisibleText (text) / Eller kan användas som oSelect.selectByValue (värde) oSelect.selectByValue (värde)

Välj klass i Selenium WebDriver: Avmarkera metoder

När du väljer ett visst element på webbsidan finns det några metoder som hjälper till att avmarkera det elementet. Men den enda utmaningen i dessa metoder är att de inte fungerar för Falla ner och bara arbeta för Flera val element.

Om du vill avmarkera något förvalet alternativ kan det göras med endera

  • avmarkera alla ()
  • avmarkeraByIndex
  • avmarkeraByValue
  • avmarkeraByVisibletext

Låt oss förstå metoderna i detalj.

javascript längd för en matris
  • avmarkera alla (): Det rensar alla valda poster. Detta är endast giltigt när rullgardinselementet stöder flera val.

Exempel: oVälj. avmarkera alla ()

  • avmarkeraByIndex (): denavmarkerar alternativet vid det angivna indexet.

Exempel: oVälj. avmarkeraByIndex (2)

  • avmarkeraByValue (): Denna metod hjälper till att avmarkera alternativet vars “ värde ”Attribut matchar den specifika parametern.

Exempel: oVälj. avmarkeraByValue (“13”)

  • avmarkeraByVisibletext (): Denna metod hjälper till att avmarkera alternativet som visar texten som matchar parametern.

Välj klass i Selen WebDriver: Hur väljer man ett alternativ från rullgardinsmenyn?

Jag hjälper er att förstå hur detta Välj metoden fungerar med ett realtidsexempel.

I det här fallet kommer jag att överväga att arbeta på en berömd e-handelswebbplats facebook.com.

  • Lägg först till Java-biblioteken på ditt system.
  • En IDE där du kan skriva koden. Jag kommer att överväga att arbeta med Eclipse IDE eftersom det är användarvänligt.
  • Lägg till selenbibliotek i projektet.
  • Hämta webbadressen till webbsidan.
  • Utför önskade åtgärder i listrutan.

Jag har förklarat detta med två olika program. Det första programmet hjälper dig att välja ett värde från listrutan och det andra programmet hjälper till att utföra olika åtgärder i listrutan.

  • Ställ först in .
  • Hämta webbadressen till Facebook .
  • Skapa en objekt och hitta elementet med hjälp av elementlokaliserarna.
  • Välj objektet för WebElement med hjälp av Select-metoderna.
  • Avsluta körning av föraren.

Se den här koden:

paket Edurekaa import org.junit.Test import org.openqa.selenium.By import org.openqa.selenium.JavascriptExecutor import org.openqa.selenium.WebDriver importerar org.openqa.selenium.WebElement importerar org.openqa.selenium.chrome.ChromeDriver importera 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-drivrutin = ny ChromeDriver () driver.get (' http://www.facebook.com ') driver.manage (). fönster (). maximera () //js.executeScript('window. scrollBy (0,300) ') WebElement month_dropdown = driver.findElement (By.id (' day ')) Välj oSelect = new Välj (month_dropdown) oSelect.selectByIndex (3) Thread.sleep (3000) WebElement year_yy = driver.findElement (By .id ('year')) Välj year_y = new Välj (year_yy) year_y.selectByValue ('2000') Thread.sleep (3000) WebElement month_m = driver.findElement (By.id ('month')) Sele ct month_d1 = new Välj (month_m) month_d1.selectByVisibleText ('Jul') driver.quit ()}}

Det andra programmet handlar om att utföra åtgärder i listrutan. Låt oss i så fall skriva ut antalet månader och även namnen.

  • Skapa en lista med WebElements och välj alternativen.
  • Få storleken på månadens rullgardinsmeny.
  • Skriv ut månadslistan.
  • Skapa ett annat objekt av WebElement den och få månadens namn.
  • Skriv ut numret med en for-loop.
  • Avsluta körning av föraren.
paket Edurekaa import java.util.List import org.junit.Test import org.openqa.selenium.By import org.openqa.selenium.JavascriptExecutor importerar org.openqa.selenium.WebDriver importerar org.openqa.selenium.WebElement importerar org.openqa .selenium.chrome.ChromeDriver importerar org.openqa.selenium.support.ui.Select public class SelectClass2 {@Test public static void main (String [] args) kastar InterruptedException {System.setProperty ('webdriver.chrome.driver', ' C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') WebDriver-drivrutin = ny ChromeDriver () JavascriptExecutor js = (JavascriptExecutor) drivrutinsdrivrutin.get (' http://www.facebook.com ') driver.manage (). Fönster () .maximize () //js.executeScript('window.scrollBy(0,300) ') WebElement month_dropdown = driver.findElement (By.id (' month ')) Välj oSelect = ny Välj (month_dropdown) List & ampampltWebElement & ampampgt month_list = oSelect.getOptions ) int total_month = month_list.size () System.out.println ('Totalt antal är' + total_month) för (WebElement ele: month_list) {String month_name = ele.getText () System.out.println ('Month are' + month_name)} driver.quit ()}}

Nu med detta kommer vi till ett slut på denna 'Hur man väljer från en rullgardinsmeny i Selen WebDriver' -bloggen. Jag hoppas att ni tyckte om den här artikeln och förstod hur Select class fungerar i Selen.

Nu när du har förstått hur du väljer ett värde från en listruta med hjälp av Selen, kolla in av Edureka, ett pålitligt online-lärande företag med ett nätverk av mer än 650 000 nöjda elever spridda över hela världen. Denna kurs är utformad för att introducera dig till de fullständiga Selen-funktionerna och dess betydelse för testprogramvara.

Har du en fråga till oss? Vänligen nämna det i kommentarsektionen i ”Hur man väljer från en rullgardinsmeny i Selenium WebDriver” så återkommer vi till dig.