Jak vybrat hodnotu z DropDown pomocí selenového webdriveru

Obsah:

Anonim

V tomto kurzu se naučíme, jak zacházet s DropDown v selenu a při operacích vícenásobného výběru.

Vyberte třídu na selenu

Select Class v Selen je metoda používaná k implementaci značky HTML SELECT. Značka html select poskytuje pomocné metody pro výběr a zrušení výběru prvků. Třída Select je běžnou třídou, takže k vytvoření jejího objektu se používá klíčové slovo New a určuje umístění webového prvku.

V rozevíracím seznamu vyberte možnost

Následuje postup krok za krokem, jak vybrat hodnotu z rozevíracího seznamu Selenium:

Před zpracováním rozevíracího seznamu v selenu a ovládáním rozevíracích polí musíme udělat následující dvě věci:

  1. Importujte balíček org.openqa.selenium.support.ui.Select
  2. Vytvořte instanci rozevíracího seznamu jako objekt, vyberte v selenu WebDriver

Jako příklad přejděte na registrační stránku Mercury Tours (http://demo.guru99.com/test/newtours/register.php) a všimněte si rozbalovacího pole „Země“.

Krok 1

Importujte balíček „Vybrat“.

Krok 2

Deklarovat prvek rozevíracího seznamu jako instanci třídy Select třídy. V níže uvedeném příkladu jsme tuto instanci pojmenovali „drpCountry“.

Krok 3

Nyní můžeme začít ovládat „drpCountry“ pomocí kterékoli z dostupných metod Select k výběru rozevíracího seznamu Selenium. Níže uvedený ukázkový kód vybere možnost „ANTARCTICA“.

Výběr položek v několika prvcích SELECT

Můžeme také použít metodu selectByVisibleText () při výběru více možností v prvku multi SELECT. Jako příklad vezmeme http://jsbin.com/osebed/2 jako základní URL. Obsahuje rozevírací seznam, který umožňuje více výběrů najednou.

Níže uvedený kód vybere první dvě možnosti pomocí metody selectByVisibleText ().

Vyberte metody

Níže jsou uvedeny nejběžnější metody používané v rozevíracím seznamu selenu.

Metoda Popis
selectByVisibleText () a deselectByVisibleText ( ) Příklad:
  • Vybere / zruší výběr možnosti, která zobrazí text odpovídající parametru.
  • Parametr : Přesně zobrazený text konkrétní možnosti
selectByValue () a deselectByValue ( ) Příklad:
  • Vybere / zruší výběr možnosti, jejíž atribut „value“ odpovídá zadanému parametru.
  • Parametr : hodnota atributu „value“
  • Pamatujte, že ne všechny možnosti rozbalovací nabídky mají stejný text a „hodnotu“, jako v příkladu níže.
selectByIndex () a deselectByIndex ( ) Příklad:
  • Vybere / zruší výběr možnosti u daného indexu.
  • Parametr : index možnosti, kterou chcete vybrat.
isMultiple () Příklad:
  • Vrátí PRAVDA, pokud prvek rozevíracího seznamu umožňuje více výběrů najednou; FALSE, pokud není uvedeno jinak.
  • Nejsou potřeba žádné parametry
deselectAll () Příklad:
  • Vymaže všechny vybrané položky. To je platné pouze v případě, že rozevírací prvek podporuje více výběrů.
  • Nejsou potřeba žádné parametry

Zde je kompletní kód

balíček newpackage;import org.openqa.selenium.WebDriver;import org.openqa.selenium.firefox.FirefoxDriver;importovat org.openqa.selenium.support.ui.Select;import org.openqa.selenium.By;veřejná třída accessDropDown {public static void main (String [] args) {System.setProperty ("webdriver.gecko.driver", "C: \\ geckodriver.exe");Řetězec baseURL = "http://demo.guru99.com/test/newtours/register.php";Ovladač WebDriver = nový FirefoxDriver ();driver.get (baseURL);Select drpCountry = new Select (driver.findElement (By.name ("country")));drpCountry.selectByVisibleText ("ANTARCTICA");// Výběr položek ve více prvcích SELECTdriver.get ("http://jsbin.com/osebed/2");Vyberte ovoce = nový Výběr (driver.findElement (By.id ("ovoce")));fruit.selectByVisibleText ("banán");ovoce.selectByIndex (1);}}

souhrn

Živel Příkaz Popis
Rozevírací seznam selectByVisibleText () / deselectByVisibleText () vybere / zruší výběr možnosti podle zobrazeného textu
selectByValue () / deselectByValue () vybere / zruší výběr možnosti podle hodnoty jejího atributu „value“
selectByIndex () / deselectByIndex () vybere / zruší výběr možnosti podle jejího indexu
isMultiple () vrací TRUE, pokud prvek rozevíracího seznamu umožňuje výběr více najednou; FALSE, pokud není uvedeno jinak
Odznačit vše() zruší výběr všech dříve vybraných možností

Chcete-li ovládat rozevírací pole, musíte nejprve importovat balíček org.openqa.selenium.support.ui.Select a poté vytvořit instanci Select.