Ako vybrať hodnotu z rozbaľovacej ponuky v Selenium WebDriver



Tento článok vám pomôže pochopiť, čo je trieda Select vo webovom ovládači Selenium WebDriver, a tiež to, ako vybrať hodnotu z rozbaľovacieho zoznamu v serveri Selenium WebDriver.

Ak chcete vykonať akúkoľvek akciu, prvýúlohou je identifikovať skupinu prvkov. Spravidla pri práci s , možno budete musieť vybrať niektoré hodnoty z rozbaľovacieho zoznamu a tiež vykonať ďalšie činnosti a overiť ich. Prevediem vás preto, aby ste pochopili, čo je trieda Select v aplikácii Selenium WebDriver a ako na to Vyberte hodnota z rozbaľovacieho zoznamu v Selenium WebDriver.

ako sa naučiť vizuálne štúdio

Budem diskutovať o tejto téme v tomto poradí:





Tak poďme na to.

Vyberte triedu v selenovom webovom ovládači

The Vyberte trieda je a trieda, ktorá v zásade poskytuje implementáciu značky HTML SELECT. Značka Select poskytuje pomocným metódam možnosti výberu a zrušenia výberu. Túto triedu nájdete pod Podpora selénu.UI. Vyberte balíček. Select je vlastne obyčajná trieda, takže jej objekt vytvára aj kľúčové slovo Nový a tiež určuje umiestnenie webového prvku.



Syntax:

Select oSelect = new Select ()

Vyvolá chybu so žiadosťou o pridanie argumentov k príkazu. Takže zadajte umiestnenie webového prvku pomocou .

Jasne to tvrdí Vyberte žiada pre svoj konštruktor objekt typu prvku.



Po tomto,akonáhle získate predmet VYBERTE Triedu , máte prístup ku všetkým metódam, ktoré sa nachádzajú v priečinku VYBERTE triedy napísaním o Vyberte + bodka ktorá poskytne všetky metódy v triede Select. Vyberte ľubovoľnú metódu podľa testovacieho prípadu.

Poďme sa teda teraz dozvedieť viac o rôznych metódach v tejto triede Select.

Vyberte triedu v ovládači Selenium WebDriver: Rôzne príkazy na výber

Nasledujú najbežnejšie používané spôsoby riešenia rozbaľovacieho zoznamu.

jeden. selectByVisibleText: selectByVisibleText (reťazec arg0): neplatné

Touto metódou je veľmi ľahké vybrať alebo zvoliť možnosť uvedenú v rozbaľovacích zoznamoch a viacerých výberových poliach. Trvá parameter reťazca, ktorý je jedným z hodnotu prvku Select a nič nevráti.

Syntax: oSelect.selectByVisibleText („text“)

Príklad:

Select oSelect = new Select (driver.findElement (By.id ('search-box'))) oSelect.selectByVisibleText ('Blog')

2 . selectByIndex: selectByIndex (int arg0): neplatné

Táto metóda je takmer podobná metóde „selectByVisibleText“, ale jediný rozdiel je v tom, že používateľ musí uviesť číslo indexu možnosti, nie text možnosti. Berie celočíselný parameter, ktorý je hodnotou indexu Vyberte prvok a nič nevráti.

Synatx: oSelect.selectByIndex (int)

Príklad:

Select oSelect = new Select (driver.findElement (By.id ('Seacrch-box'))) oSelect.selectByIndex (2)

3. selectByValue: selectByValue (String arg0): void

Táto metóda je opäť podobná tej, o ktorej som hovoril už skôr. Jediný rozdiel v tejto metóde spočíva v tom, že požaduje hodnotu možnosti, skôr text možnosti alebo index. Trvá to reťazcový parameter, ktorý je jednou z hodnôt Vyberte prvok a nič nevracia.

Syntax: oSelect.selectByValue („text“)

Príklad:

Select oSelect = new Select (driver.findElement (By.id ('Search-box'))) oSelect.selectByValue ('Selenium Certification training')

Štyri. getOptions: getOptions (): Zoznam

Táto metóda pomáha získať všetky možnosti patriace k značke Select. Neberie žiadny parameter a vráti sa Zoznam .

Syntax: oSelect.getOptions ()

Príklad:

Select oSelect = new Select (driver.findElement (By.id ('Search-box'))) List elementCount = oSelect.getOptions () System.out.println (elementCount.size ())

Poďme teda k ďalšej téme a oboznámme sa s metódami viacnásobného výberu

Vyberte triedu v ovládači Selenium WebDriver: Ako funguje príkaz Multiple SELECT?

Atribút multiple select je boolovský výraz. Ak je k dispozícii, určuje, že je možné zvoliť viac možností naraz. Tieto možnosti sa líšia pre rôzne operačné systémy a prehľadávače, menovite:

  • Pre Windows: Podržaním ovládacieho tlačidla (ctrl) vyberte viac možností.
  • Pre počítače Mac: Podržaním príkazového tlačidla vyberte viac možností.

Je užívateľsky príjemné používať namiesto rôznych spôsobov vykonávania operácií začiarkavacie políčka, pretože musíte používateľa informovať, že je k dispozícii viac výberov. Existuje metóda, ktorá skutočne pomáha určiť, že môžete použiť viac možností výberu.

isMultiple

isMultiple (): boolean - Táto metóda hovorí, či prvok SELECT podporuje viac možností výberu súčasne alebo nie. Táto metóda neprijíma nič iné, iba vráti boolovskú hodnotu (true / false).

Syntax: oSelect.isMultiple ()

Príklad:

Select oSelect = new Select (driver.findElement (By.id (Element_ID))) oSelect.selectByIndex (index) oSelect.selectByIndex (index) // Alebo je možné ich použiť ako oSelect.selectByVisibleText (text) oSelect.selectByVisibleText (text) / / Alebo možno použiť ako oSelect.selectByValue (hodnota) oSelect.selectByValue (hodnota)

Vyberte triedu v ovládači Selenium WebDriver: metódy DeSelect

Keď vyberiete konkrétny prvok na webovej stránke, existuje niekoľko metód, ktoré vám pomôžu pri zrušení výberu tohto prvku. Jedinou výzvou v týchto metódach však je, že nepracujú DropDown a pracovať iba pre Multi-Select prvkov.

Ak chcete zrušiť výber akejkoľvek vopred vybranej možnosti, je možné vykonať ktorúkoľvek z nich

  • odznačiť všetko ()
  • deselectByIndex
  • deselectByValue
  • deselectByVisibletext

Poďme pochopiť metódy podrobne.

  • odznačiť všetko (): Vymaže všetky vybrané položky. Toto platí iba vtedy, keď rozbaľovací prvok podporuje viacnásobný výber.

Príklad: oVyberte. odznačiť všetko ()

  • deselectByIndex (): Tozruší výber možnosti pri danom indexe.

Príklad: oVyberte. deselectByIndex (2)

  • deselectByValue (): Táto metóda pomáha zrušiť výber možnosti, ktorej „ hodnotu ”Atribút sa zhoduje s konkrétnym parametrom.

Príklad: oVyberte. deselectByValue („13“)

  • deselectByVisibletext (): Táto metóda pomáha zrušiť výber možnosti, ktorá zobrazuje text zodpovedajúci parametru.

Vyberte triedu v selenovom webovom ovládači: Ako vybrať možnosť z rozbaľovacej ponuky?

Chlapi vám pomôžem pochopiť, ako na to Vyberte metóda pracuje s príkladom v reálnom čase.

V takom prípade zvážim prácu na slávnej webovej stránke elektronického obchodu facebook.com.

  • Najskôr do svojho systému pridajte knižnice Java.
  • IDE, kde môžete napísať časť kódu. Zvážim prácu na Eclipse IDE, pretože je užívateľsky príjemná.
  • Pridajte do projektu selénové knižnice.
  • Získajte adresu URL webovej stránky.
  • V rozbaľovacom zozname vykonajte požadované akcie.

Vysvetlil som to pomocou 2 rôznych programov. Prvý program vám pomôže vybrať hodnotu z rozbaľovacieho zoznamu a druhý program pomôže vykonať rôzne operácie v rozbaľovacom zozname.

  • Najskôr nastavte .
  • Získajte adresu URL Facebook .
  • Vytvor objekt a vyhľadajte prvok pomocou lokátorov prvkov.
  • Vyberte objekt WebElement pomocou metód Select.
  • Ukončite vykonávanie ovládača.

Pozrite si tento kód:

balík Edurekaa import org.junit.Test importu org.openqa.selenium. Importom 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) throws InterruptedException {System.setProperty ('webdriver.chrome.driver', 'C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') Ovládač WebDriver = nový ChromeDriver () driver.get (' http://www.facebook.com ') driver.manage (). window (). maximize () //js.executeScript('window. scrollBy (0,300) ') WebElement month_dropdown = driver.findElement (By.id (' day ')) Select oSelect = new Select (month_dropdown) oSelect.selectByIndex (3) Thread.sleep (3000) WebElement year_yy = driver.findElement (od .id ('year')) Select year_y = new Select (year_yy) year_y.selectByValue ('2000') Thread.sleep (3000) WebElement month_m = driver.findElement (By.id ('month')) Sele ct month_d1 = nový Select (month_m) month_d1.selectByVisibleText ('Jul') driver.quit ()}}

Druhý program sa zaoberá vykonávaním akcií v rozbaľovacom zozname. V takom prípade si vytlačme počet mesiacov a tiež mená.

  • Vytvorte zoznam WebElements a vyberte možnosti.
  • Získajte rozbaľovaciu ponuku veľkosti mesiaca.
  • Vytlačte veľkosť zoznamu mesiacov.
  • Vytvorte ďalší objekt WebElement to a získajte názov mesiaca.
  • Vytlačte číslo pomocou slučky for.
  • Ukončite vykonávanie ovládača.
balík Edurekaa import java.util.List import org.junit.Test import org.openqa.selenium. Importom 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) throws InterruptedException {System.setProperty ('webdriver.chrome.driver', ' C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') Ovládač WebDriver = nový ChromeDriver () JavascriptExecutor js = (JavascriptExecutor) driver driver.get (' http://www.facebook.com ') driver.manage (). Window () .maximize () //js.executeScript('window.scrollBy(0,300) ') WebElement month_dropdown = driver.findElement (By.id (' month ')) Select oSelect = new Select (month_dropdown) List & ampampltWebElement & ampampgt month_list = oSelect.getOptions ( ) int total_month = month_list.size () System.out.println ('Celkový počet je' + total_month) pre (WebElement ele: month_list) {Reťazec month_name = ele.getText () System.out.println ('Mesiace sú' + month_name)} driver.quit ()}}

Týmto sa dostávame ku koncu tohto blogu „Ako vyberať z rozbaľovacej ponuky v Selenium WebDriver“. Dúfam, že sa vám článok páčil, a pochopili ste, ako funguje trieda Select v seléne.

Teraz, keď ste pochopili, ako vybrať hodnotu z rozbaľovacieho zoznamu pomocou selénu, pozrite sa na autor: Edureka, dôveryhodná online vzdelávacia spoločnosť so sieťou viac ako 650 000 spokojných študentov rozšírených po celom svete. Tento kurz je navrhnutý tak, aby vám predstavil všetky funkcie selénu a jeho dôležitosť pri testovaní softvéru.

Máte na nás otázku? Uveďte to v sekcii komentárov v časti „Ako vybrať z rozbaľovacej ponuky Selenium WebDriver“ a my sa vám ozveme.