Hoe u een waarde selecteert uit een vervolgkeuzelijst in Selenium WebDriver



Dit artikel helpt u te begrijpen wat een Select-klasse is in Selenium WebDriver en ook hoe u een waarde kunt selecteren uit een vervolgkeuzelijst in Selenium WebDriver

Om een ​​actie uit te voeren, de eerstetaak om te doen is om de elementgroep te identificeren. Over het algemeen tijdens het werken met , moet u wellicht enkele waarden uit de vervolgkeuzelijst selecteren en ook andere activiteiten uitvoeren en deze valideren. Dus ik zal je een weg wijzen om te begrijpen wat een Select-klasse is in Selenium WebDriver en hoe Selecteer een waarde uit een vervolgkeuzelijst in Selenium WebDriver.

Ik zal dit onderwerp in deze volgorde bespreken:





Dus laten we beginnen.

Selecteer een klas in Selenium WebDriver

De Selecteer klasse is een class die in feite de implementatie van de HTML SELECT-tag verzorgt. Een Select-tag biedt de hulpmethoden opties voor selecteren en deselecteren. Deze klasse is te vinden onder Ondersteuning van Selenium.UI.Select pakket. Select is eigenlijk een gewone klasse, dus het object wordt ook gemaakt door het trefwoord Nieuw en specificeert ook de locatie van het webelement.



Syntaxis:

Selecteer oSelect = nieuw Selecteer ()

Er wordt een foutmelding weergegeven waarin wordt gevraagd om argumenten aan de opdracht toe te voegen. Geef dus de locatie van het webelement op met de .

Het stelt duidelijk dat Selecteer vraagt ​​om een ​​elementtype object voor zijn constructor.



Na dit,zodra je het object van de SELECTEER Klasse , hebt u toegang tot alle methoden die zich in het SELECTEER klasse door te typen oSelecteer + punt die alle methoden onder de klasse Select biedt. Kies een methode op basis van uw testcase.

Laten we nu dus verder gaan om meer te weten te komen over de verschillende methoden onder deze Select-klasse.

Selecteer een klas in Selenium WebDriver: Verschillende Select-opdrachten

Hieronder volgen de meest gebruikte methoden om met de vervolgkeuzelijst om te gaan.

een. selectByVisibleText: selectByVisibleText (String arg0): void

Met deze methode is het heel gemakkelijk om een ​​optie te kiezen of te selecteren die wordt gegeven onder een vervolgkeuzelijst en meerdere selectievakjes. Er is een parameter van String nodig die een van de waarde van Selecteer element en het geeft niets terug.

klasse __init__ python

Syntaxis: oSelect.selectByVisibleText ('tekst')

Voorbeeld:

Selecteer oSelect = nieuw Selecteer (driver.findElement (By.id ('zoekvak'))) oSelect.selectByVisibleText ('Blog')

2 . selectByIndex: selectByIndex (int arg0): void

Deze methode lijkt bijna op ‘selectByVisibleText’, maar het enige verschil is dat de gebruiker het indexnummer voor de optie moet opgeven in plaats van de tekst van de optie. Het heeft de integer-parameter nodig die de indexwaarde is van Selecteer element en het geeft niets terug.

Synatx: oSelect.selectByIndex (int)

Voorbeeld:

Selecteer oSelect = nieuw Selecteer (driver.findElement (By.id ('Seacrch-box'))) oSelect.selectByIndex (2)

3. selectByValue: selectByValue (String arg0): void

Deze methode is weer vergelijkbaar met wat ik eerder heb besproken, het enige verschil in deze methode is dat het om de waarde van de optie vraagt ​​in plaats van de optietekst of een index. Er is een String-parameter voor nodig die een van de waarden is van Selecteer element en het geeft niets terug.

Syntaxis: oSelect.selectByValue ('tekst')

Voorbeeld:

Selecteer oSelect = nieuw Selecteer (driver.findElement (By.id ('Zoekvak'))) oSelect.selectByValue ('Selenium Certificatie training')

Vier. getOptions: getOptions (): lijst

Deze methode helpt om alle opties te krijgen die bij de Select-tag horen. Het heeft geen parameter nodig en keert terug Lijst .

Syntaxis: oSelect.getOptions ()

beëindig een programma in java

Voorbeeld:

Selecteer oSelect = nieuw Selecteer (driver.findElement (By.id ('Zoekvak'))) Lijst elementCount = oSelect.getOptions () System.out.println (elementCount.size ())

Laten we dus verder gaan met het volgende onderwerp en meer te weten komen over de Multiple Select-methoden

Selecteer een klas in Selenium WebDriver: Hoe werkt de Multiple SELECT-opdracht?

Het kenmerk multiple select is een booleaanse uitdrukking. Als dit aanwezig is, geeft het aan dat er meerdere opties tegelijk kunnen worden geselecteerd. Deze opties variëren voor verschillende besturingssystemen en browsers, namelijk:

  • Voor ramen: Houd de controleknop (ctrl) ingedrukt om meerdere opties te selecteren.
  • Voor Mac: Houd de opdrachtknop ingedrukt om meerdere opties te selecteren.

Het is gebruiksvriendelijk om selectievakjes te gebruiken in plaats van verschillende manieren te gebruiken om bewerkingen uit te voeren, omdat u de gebruiker moet informeren dat er meerdere selecties beschikbaar zijn. Er is een methode die helpt om aan te geven dat u meerdere opties kunt selecteren.

isMultiple

isMultiple (): boolean - Deze methode geeft aan of het SELECT-element meerdere selectie-opties tegelijkertijd ondersteunt of niet. Deze methode accepteert niets, maar retourneert een booleaanse waarde (true / false).

Syntaxis: oSelect.isMultiple ()

Voorbeeld:

Selecteer oSelect = nieuw Select (driver.findElement (By.id (Element_ID))) oSelect.selectByIndex (index) oSelect.selectByIndex (index) // Of kan worden gebruikt als oSelect.selectByVisibleText (tekst) oSelect.selectByVisibleText (tekst) / / Of kan worden gebruikt als oSelect.selectByValue (waarde) oSelect.selectByValue (waarde)

Selecteer klasse in Selenium WebDriver: DeSelect-methoden

Wanneer u een bepaald element op de webpagina selecteert, zijn er een paar methoden die u kunnen helpen bij het deselecteren van dat element. Maar de enige uitdaging bij deze methoden is dat ze niet werken Laten vallen en werken alleen voor Meerkeuze selectie elementen.

Als u een voorgeselecteerde optie wilt deselecteren, kunt u dat met beide doen

  • Deselecteer alles ()
  • deselectByIndex
  • deselectByValue
  • deselectByVisibletext

Laten we de methoden in detail begrijpen.

  • Deselecteer alles (): Het wist alle geselecteerde items. Dit is alleen geldig als het dropdown-element meerdere selecties ondersteunt.

Voorbeeld: oSelect. Deselecteer alles ()

  • deselectByIndex (): Hetdeselecteert de optie bij de opgegeven index.

Voorbeeld: oSelect. deselectByIndex (2)

  • deselectByValue (): Deze methode helpt bij het deselecteren van de optie waarvan “ waarde ”-Kenmerk komt overeen met de specifieke parameter.

Voorbeeld: oSelect. deselectByValue ('13')

  • deselectByVisibletext (): Deze methode helpt bij het deselecteren van de optie die de tekst weergeeft die overeenkomt met de parameter.

Selecteer klasse in Selenium WebDriver: Hoe selecteer ik een optie uit het vervolgkeuzemenu?

Ik zal jullie helpen begrijpen hoe dit werkt Selecteer methode werkt met een real-time voorbeeld.

In dit geval zal ik overwegen om aan een beroemde e-commerce-website te werken facebook.com.

c ++ sorteer nummers in oplopende volgorde
  • Voeg eerst de Java-bibliotheken toe aan uw systeem.
  • Een IDE waar u het stuk code kunt schrijven. Ik zal overwegen om aan de Eclipse IDE te werken omdat deze gebruiksvriendelijk is.
  • Voeg Selenium-bibliotheken toe aan het project.
  • Haal de URL van de webpagina op.
  • Voer de gewenste acties uit in de vervolgkeuzelijst.

Ik heb dit uitgelegd aan de hand van 2 verschillende programma's. Het eerste programma helpt u bij het selecteren van een waarde in de vervolgkeuzelijst en het tweede programma helpt u bij het uitvoeren van verschillende bewerkingen in de vervolgkeuzelijst.

  • Stel eerst het .
  • Verkrijg de URL van Facebook .
  • Maak een object en vind het element met behulp van de elementlocators.
  • Selecteer het object van het WebElement met behulp van de Select-methoden.
  • Sluit de uitvoering van het stuurprogramma.

Verwijs naar deze code:

pakket 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) gooit InterruptedException {System.setProperty ('webdriver.chrome.driver', 'C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') WebDriver-stuurprogramma = nieuwe ChromeDriver () driver.get (' http://www.facebook.com ') driver.manage (). window (). maximaliseren () //js.executeScript('window. scrollBy (0,300) ') WebElement month_dropdown = driver.findElement (By.id (' day ')) Selecteer oSelect = nieuw Selecteer (month_dropdown) oSelect.selectByIndex (3) Thread.sleep (3000) WebElement year_yy = driver.findElement (By .id ('year')) Selecteer year_y = nieuw Selecteer (year_yy) year_y.selectByValue ('2000') Thread.sleep (3000) WebElement month_m = driver.findElement (By.id ('month')) Sele ct month_d1 = nieuw Selecteer (maand_m) maand_d1.selectByVisibleText ('Jul') driver.quit ()}}

Het tweede programma behandelt het uitvoeren van acties in de vervolgkeuzelijst. Laat ons in dit geval het aantal maanden en ook de namen afdrukken.

  • Maak een lijst met WebElements en selecteer de opties.
  • Verkrijg de vervolgkeuzelijst voor de grootte van de maand.
  • Druk de grootte van de maandlijst af.
  • Maak nog een object van het WebElement het en ontvang de naam van de maand.
  • Druk het nummer af met een for-lus.
  • Sluit de uitvoering van het stuurprogramma.
pakket 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) gooit InterruptedException {System.setProperty ('webdriver.chrome.driver', ' C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') WebDriver-stuurprogramma = nieuwe ChromeDriver () JavascriptExecutor js = (JavascriptExecutor) stuurprogramma driver.get (' http://www.facebook.com ') driver.manage (). Window () .maximize () //js.executeScript('window.scrollBy(0,300) ') WebElement month_dropdown = driver.findElement (By.id (' month ')) Selecteer oSelect = nieuw Selecteer (maand_dropdown) Lijst & ampampltWebElement & ampampgt month_list = oSelect.getOptions ( ) int total_month = month_list.size () System.out.println ('Total count is' + total_month) voor (WebElement ele: month_list) {String month_name = ele.getText () System.out.println ('Maanden are' + month_name)} driver.quit ()}}

Hiermee komen we een einde aan deze blog “Hoe te selecteren uit een vervolgkeuzelijst in Selenium WebDriver”. Ik hoop dat jullie van dit artikel genoten hebben en begrepen hebben hoe Select Class in Selenium werkt.

Nu u weet hoe u een waarde uit een vervolgkeuzelijst selecteert met Selenium, kunt u het door Edureka, een vertrouwd online leerbedrijf met een netwerk van meer dan 650.000 tevreden leerlingen verspreid over de hele wereld. Deze cursus is bedoeld om u kennis te laten maken met de volledige Selenium-functies en het belang ervan bij het testen van software.

Heeft u een vraag voor ons? Vermeld het in het opmerkingengedeelte van “Hoe te selecteren uit een vervolgkeuzelijst in Selenium WebDriver” en we nemen contact met u op.