Arvon valitseminen pudotusvalikosta Selenium

โšก ร„lykรคs yhteenveto

Valitse arvo alasvetovalikosta Selenium kรคyttรครค erillistรค Select-luokkaa HTML:n SELECT-elementtien hallintaan. Luokka tarjoaa selectByVisibleText-, selectByValue- ja selectByIndex-metodit, jotka valitsevat asetuksia tarkasti ja tukevat monivalintavalikoita.

  • ๐Ÿ“ฆ Tuo paketti: Tuo org.openqa.selenium.support.ui.Select-elementtiin ja rivitรค se WebElement-elementin joukkoon ennen minkรครคn valintametodin kutsumista.
  • ๐ŸŽฏ Valitse oikea menetelmรค: Valitse selectByVisibleText, selectByValue tai selectByIndex sen perusteella, onko vakain nรคyttรถteksti, arvoattribuutti vai sijainti.
  • ๐Ÿ” Kรคsittele monivalintavalikoita: Kรคytรค isMultiple-metodia niiden havaitsemiseen ja deselectAll- tai deselectByVisibleText-metodin avulla voit tyhjentรครค aiemmat valinnat.
  • โœ… Vahvista valinta: Kutsu getFirstSelectedOption-funktiota varmistaaksesi, ettรค testi todella muutti alasvetovalikon tilaa.
  • ๐Ÿค– Kรคytรค tekoรคlypaikantimia: Itsekorjaavat tekoรคlypaikantimet korjaavat rikkinรคiset valintaelementtien XPath-polut kรคyttรถliittymรคmuutosten jรคlkeen, keeping alasvetovalikon testit ovat vakaita eri julkaisuissa.

Valitse arvo alasvetovalikosta Selenium

Mikรค on Select-luokka? Selenium?

Valitse luokka Selenium on auttajaluokka org.openqa.selenium.support.ui paketti, jonka avulla WebDriver on vuorovaikutuksessa HTML:n kanssa <select> elementtejรค. Se paljastaa menetelmiรค vaihtoehtojen valitsemiseksi ja valinnan poistamiseksi nรคkyvรคn tekstin, arvon tai indeksin perusteella ja sen havaitsemiseksi, hyvรคksyykรถ avattava valikko useita valintoja.

Koska Select on vakiokasvo Java luokan, luot instanssin, jossa on new avainsana ja vรคlitรค WebElement, joka osoittaa <select> -tunniste sivulla.

Kuinka valita avattava valikko Selenium

Ennen pudotusvalikon kรคsittelyรค Selenium, vaaditaan kaksi vaihetta:

  1. Tuo paketti org.openqa.selenium.support.ui.Select.
  2. Luo pudotusvalikosta instanssi Select esine sisรครคn Selenium WebDriver.

Avaa esimerkiksi Mercury Toursin ilmoittautumissivu (https://demo.guru99.com/test/newtours/register.php) ja etsi avattava โ€Maaโ€-valikko.

Valitse pudotusvalikosta Selenium

Vaihe 1) Tuo Select-paketti.

import org.openqa.selenium.support.ui.Select;

Vaihe 2) Ilmoita avattava elementti Select-luokan esiintymรคksi. Alla olevassa esimerkissรค instanssi on nimetty drpCountry.

Select drpCountry = new Select(driver.findElement(By.name("country")));

Vaihe 3) Aloita pudotusvalikon hallinta. Valitse vaihtoehto millรค tahansa Select-menetelmรคllรค. Alla olevassa esimerkissรค valitaan โ€ANTARCTICAโ€:

drpCountry.selectByVisibleText("ANTARCTICA");

Valitse Methods in Selenium

Select-luokka tarjoaa useita metodeja alasvetovalikoiden kanssa toimimiseen. Viisi yleisintรค on kuvattu alla.

1) valitseByVisibleText() ja poista valintaByVisibleText()-funktioilta

  • Valitsee tai poistaa valinnan vaihtoehdosta, jonka nรคytettรคvรค teksti vastaa parametria.
  • Parametri: vaihtoehdolle nรคytettรคvรค tarkka teksti.

Esimerkiksi:

drpCountry.selectByVisibleText("ANTARCTICA");

2) selectByValue() ja deselectByValue()

  • Valitsee tai poistaa valinnan vaihtoehdosta, jonka value attribuutti vastaa parametria.
  • Huomaa, ettรค nรคytetty teksti ja value attribuutit ovat usein erilaisia, kuten alla on esitetty.
  • Parametri: vaihtoehdon value mรครคrite.

valitseArvonBy ja poistaArvonBy-valinta

Esimerkiksi:

drpCountry.selectByValue("234");

3) selectByIndex() ja deselectByIndex()

  • Valitsee tai poistaa valinnan annetun indeksin kohdalla olevasta vaihtoehdosta. Indeksit ovat nollapohjaisia.
  • Parametri: vaihtoehdon kokonaislukuindeksi.

Esimerkiksi:

drpCountry.selectByIndex(0);

4) onMoninkertainen()

  • Palautukset TRUE jos alasvetovalikko sallii useita valintoja samanaikaisesti, muuten FALSE.
  • Parametri: ei mitรครคn.

Esimerkiksi:

if (drpCountry.isMultiple()) {
    // do something here
}

5) poistaKaikkienValinta()

  • Tyhjentรครค kaikki valitut vaihtoehdot. Voimassa vain monivalintavalikoissa.
  • Parametri: ei mitรครคn.

Esimerkiksi:

drpCountry.deselectAll();

Tรคydellinen Code Valitse-menetelmistรค kohdassa Selenium

Seuraavat Java ohjelma esittelee Select-luokan sekรค yhden ettรค useamman valinnan alasvetovalikoissa.

package newpackage;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.firefox.FirefoxDriver;
import org.openqa.selenium.support.ui.Select;
import org.openqa.selenium.By;

public class accessDropDown {
    public static void main(String[] args) {
        System.setProperty("webdriver.gecko.driver", "C:\\geckodriver.exe");
        String baseURL = "https://demo.guru99.com/test/newtours/register.php";
        WebDriver driver = new FirefoxDriver();
        driver.get(baseURL);

        // Single-select drop-down
        Select drpCountry = new Select(driver.findElement(By.name("country")));
        drpCountry.selectByVisibleText("ANTARCTICA");

        // Multi-select drop-down
        driver.get("http://jsbin.com/osebed/2");
        Select fruits = new Select(driver.findElement(By.id("fruits")));
        fruits.selectByVisibleText("Banana");
        fruits.selectByIndex(1);
    }
}

Kohteiden valitseminen Multiple SELECT -elementissรค

selectByVisibleText() menetelmรค toimii myรถs monivalintavalikoissa. Kรคytรค esimerkkinรค https://jsbin.com/osebed/2 kuin pohja URLSe nรคyttรครค alasvetovalikon, joka hyvรคksyy useita valintoja kerralla.

Kohteiden valitseminen monivalintaelementissรค

Alla oleva koodinpรคtkรค valitsee kaksi ensimmรคistรค vaihtoehtoa kรคyttรคmรคllรค selectByVisibleText():

Kohteiden valitseminen monivalintaelementtikoodissa

Menetelmรคviitetaulukko

Tรคmรค taulukko tiivistรครค kaikki yllรค kรคsitellyt Select-luokan metodit nopeaa hakua varten.

Komento Tuotetiedot
valitseVisibleText() / poistaVisibleText()-valinta Valitsee tai poistaa valinnan vaihtoehdosta sen nรคytetyn tekstin perusteella.
valitseArvonBy() / poistaArvonBy-valinta() Valitsee tai poistaa valinnan vaihtoehdosta sen perusteella value mรครคrite.
selectByIndex() / deselectByIndex() Valitsee tai poistaa valinnan vaihtoehdosta sen nollapohjaisen indeksin perusteella.
isMultiple() Palauttaa arvon TRUE, jos avattava valikko sallii useita valintoja, muuten FALSE.
poista kaikki valinta() Poistaa kaikkien aiemmin valittujen vaihtoehtojen valinnan monivalintavalikosta.

Voit hallita alasvetovalikoita tuomalla org.openqa.selenium.support.ui.Select paketti ensin, luo sitten Select-instanssi ja kutsu mitรค tahansa yllรค olevista metodeista.

UKK

Select-luokka on Selenium HTML SELECT -elementtien apuohjelma. Se kรครคrii WebElementin ja paljastaa selectByVisibleText-, selectByValue-, selectByIndex-, isMultiple- ja deselectAll-elementit selkeรครค alasvetovalikoiden automatisointia varten.

Suosi selectByValue-attribuuttia, kun value-attribuutti on vakaa, koska otsikot usein muuttuvat lokalisoinnin mukaan. Kรคytรค selectByVisibleText-attribuuttia, kun teksti on mรครคrรครคvรค, ja vรคltรค selectByIndex-attribuuttia, kun vaihtoehtojen jรคrjestys voi muuttua.

Select-luokka toimii vain oikeiden HTML-SELECT-tagejen kanssa. Jos WebElement on div-, ul- tai mukautettu widget, joka on tyyliltรครคn avattava valikko, sinun on napsautettava asetuksia WebElement.click():n tai Actions API:n kautta.

Kutsu getFirstSelectedOption()-funktiota Select-instanssille ja aseta sen getText()-arvo. Monivalintavalikoissa iteroi getAllSelectedOptions()-funktiota ja vertaa palautettua luetteloa odotettuihin valintoihin.

Kyllรค. Kรคytรค isMultiple()-funktiota varmistaaksesi, ettรค alasvetovalikko sallii useita arvoja, ja kutsu sitten selectByVisibleText-funktiota useita kertoja tai deselectAll()-funktiota nollataksesi oletusasetukset. Monivalinta-alasvetovalikot vaativat HTML-selaimen SELECT-elementin multiple-attribuutin mรครคrittรคmiseksi.

Kรคytรค WebDriverWait-metodia ExpectedConditions.numberOfElementsToBeMoreThan-metodin kanssa option locatorissa. Tรคmรค varmistaa, ettรค asynkronisesti tรคytetyt alasvetovalikot ovat valmiita ennen Select-luokan luomista ja minkรครคn valintametodin kutsumista.

Tekoรคlyllรค toimivat itsekorjautuvat paikantimet havaitsevat, kun SELECT-elementin tunnus, nimi tai XPath on muuttunut, ja vaihtavat toimivaan vaihtoehtoon. Ne vรคhentรคvรคt epรคtasaisten alasvetovalikoiden virheitรค kรคyttรถliittymรคn uudelleensuunnittelun jรคlkeen.

Kyllรค. Tekoรคlykoodausavustajat muuttavat selkokielisen pyynnรถn, kuten โ€select country ANTARCTICA on the rekister pageโ€, tรคydelliseksi Select-instanssiksi, jossa on oikea paikannus, selectByVisibleText-kutsu ja vahvistusvรคittรคmรค.

Tiivistรค tรคmรค viesti seuraavasti: