Jak wybrać wartość z listy rozwijanej w Selenium WebDriver



Ten artykuł pomoże Ci zrozumieć, czym jest klasa Select w Selenium WebDriver, a także jak wybrać wartość z listy rozwijanej w Selenium WebDriver

Aby wykonać dowolną czynność, pierwszazadaniem jest zidentyfikowanie grupy elementów. Generalnie podczas pracy z , może być konieczne wybranie niektórych wartości z listy rozwijanej, a także wykonanie innych działań i ich walidacja. Tak więc, poprowadzę Cię w zrozumieniu, czym jest klasa Select w Selenium WebDriver i jak to zrobić Wybierz wartość z listy rozwijanej w Selenium WebDriver.

Temat będę omawiać w następującej kolejności:





Więc zaczynajmy.

Wybierz klasę w Selenium WebDriver

Plik Wybierz klasa to klasa, która w zasadzie zapewnia implementację znacznika HTML SELECT. Tag Select udostępnia metodom pomocniczym opcje zaznaczania i usuwania zaznaczenia. Tę klasę można znaleźć pod Selenium’s Support.UI.Select pakiet. Select jest w rzeczywistości zwykłą klasą, więc jej obiekt jest również tworzony przez słowo kluczowe Nowy a także określa lokalizację elementu web.



jak stworzyć sesję w java

Składnia:

Wybierz oSelect = new Select ()

Wyświetli się błąd z prośbą o dodanie argumentów do polecenia. Więc określ lokalizację elementu WWW za pomocą .

Wyraźnie to stwierdza Wybierz prosi o obiekt typu elementu dla swojego konstruktora.



Po tym,gdy zdobędziesz obiekt Wybierz klasę , możesz uzyskać dostęp do wszystkich metod znajdujących się w WYBIERZ klasę wpisując oWybierz + kropka który zapewni wszystkie metody w klasie Select. Wybierz dowolną metodę zgodnie ze swoim przypadkiem testowym.

A teraz przejdźmy dalej, aby poznać różne metody w tej klasie Select.

Wybierz klasę w Selenium WebDriver: Różne polecenia Select

Poniżej przedstawiono najczęściej używane metody radzenia sobie z rozwijaną listą.

jeden. selectByVisibleText: selectByVisibleText (String arg0): void

Dzięki tej metodzie bardzo łatwo jest wybrać lub zaznaczyć opcję podaną pod dowolnymi listami rozwijanymi i polami wielokrotnego wyboru. Pobiera parametr String, który jest jednym z parametrów wartość elementu Wybierz i nic nie zwraca.

Składnia: oSelect.selectByVisibleText („tekst”)

Przykład:

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

2 . selectByIndex: selectByIndex (int arg0): void

Ta metoda jest prawie podobna do metody „selectByVisibleText”, ale jedyna różnica polega na tym, że użytkownik musi podać numer indeksu dla opcji, a nie tekst opcji. Pobiera parametr całkowity, który jest wartością indeksu Wybierz element i nic nie zwraca.

Synatx: oSelect.selectByIndex (int)

Przykład:

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

3. selectByValue: selectByValue (String arg0): void

Ta metoda jest podobna do tego, co omówiłem wcześniej, jedyną różnicą w tej metodzie jest to, że pyta o wartość opcji, a nie o tekst opcji lub indeks. Pobiera parametr typu String, który jest jedną z wartości Wybierz element i nic nie zwraca.

Składnia: oSelect.selectByValue („tekst”)

Przykład:

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

Cztery. getOptions: getOptions (): lista

Ta metoda pomaga uzyskać wszystkie opcje należące do tagu Select. Nie przyjmuje żadnego parametru i zwraca Lista .

Składnia: oSelect.getOptions ()

Przykład:

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

Przejdźmy więc do następnego tematu i poznajmy metody wyboru wielokrotnego

Wybierz klasę w Selenium WebDriver: Jak działa polecenie Multiple SELECT?

Atrybut wielokrotnego wyboru jest wyrażeniem logicznym. Gdy jest obecny, określa, że ​​można wybrać wiele opcji jednocześnie. Te opcje różnią się dla różnych systemów operacyjnych i przeglądarek, a mianowicie:

  • Dla Windowsa: Przytrzymaj przycisk sterowania (ctrl), aby wybrać wiele opcji.
  • Dla Maca: Przytrzymaj przycisk polecenia, aby wybrać wiele opcji.

Korzystanie z pól wyboru zamiast różnych sposobów wykonywania operacji jest przyjazne dla użytkownika, ponieważ trzeba poinformować użytkownika, że ​​dostępnych jest wiele opcji. Istnieje metoda, która faktycznie pomaga określić, że możesz użyć wielu opcji do wyboru.

isMultiple

isMultiple (): boolean - Ta metoda określa, czy element SELECT obsługuje wiele opcji wyboru w tym samym czasie, czy nie. Ta metoda nie przyjmuje niczego, ale zwraca wartość logiczną (prawda / fałsz).

Składnia: oSelect.isMultiple ()

Przykład:

Select oSelect = new Select (driver.findElement (By.id (Element_ID))) oSelect.selectByIndex (index) oSelect.selectByIndex (index) // Lub może być użyty jako oSelect.selectByVisibleText (text) oSelect.selectByVisibleText (text) / / Lub można użyć jako oSelect.selectByValue (wartość) oSelect.selectByValue (wartość)

Wybierz klasę w Selenium WebDriver: Usuń wybór metod

Po zaznaczeniu określonego elementu na stronie internetowej istnieje kilka metod, które pomogą w usunięciu zaznaczenia tego elementu. Ale jedynym wyzwaniem w tych metodach jest to, że nie działają Upuścić i pracuj tylko dla Wielokrotny wybór elementy.

Jeśli chcesz odznaczyć dowolną wcześniej wybraną opcję, możesz to zrobić za pomocą jednej z nich

  • odznacz wszystkie ()
  • deselectByIndex
  • deselectByValue
  • deselectByVisibletext

Rozumiemy szczegółowo metody.

  • odznacz wszystkie (): Czyści wszystkie wybrane wpisy. Jest to ważne tylko wtedy, gdy element rozwijany obsługuje wiele wyborów.

Przykład: oWybierz. odznacz wszystkie ()

  • deselectByIndex (): Toodznacza opcję przy danym indeksie.

Przykład: oWybierz. deselectByIndex (2)

  • deselectByValue (): Ta metoda pomaga w usuwaniu zaznaczenia opcji, której „ wartość ”Atrybut pasuje do określonego parametru.

Przykład: oWybierz. deselectByValue („13”)

  • deselectByVisibletext (): Ta metoda pomaga w usuwaniu zaznaczenia opcji wyświetlającej tekst pasujący do parametru.

Wybierz klasę w Selenium WebDriver: Jak wybrać opcję z rozwijanego menu?

Pomogę wam zrozumieć, jak to się dzieje Wybierz działa na przykładzie czasu rzeczywistego.

W tym przypadku rozważę pracę nad słynną witryną e-commerce facebook.com.

  • Najpierw dodaj biblioteki Java do swojego systemu.
  • IDE, w którym możesz napisać fragment kodu. Rozważę pracę nad Eclipse IDE, ponieważ jest ono przyjazne dla użytkownika.
  • Dodaj biblioteki Selenium do projektu.
  • Uzyskaj adres URL strony internetowej.
  • Wykonaj żądane czynności z listy rozwijanej.

Wyjaśniłem to za pomocą 2 różnych programów. Pierwszy program pomoże Ci wybrać wartość z listy rozwijanej, a drugi program pomoże wykonać różne operacje na liście rozwijanej.

  • Najpierw ustaw .
  • Uzyskaj adres URL Facebook .
  • Stwórz obiektu i znajdź element za pomocą lokalizatorów elementów.
  • Wybierz obiekt WebElement za pomocą metod Select.
  • Zakończ wykonywanie sterownika.

Odnieś się do tego kodu:

pakiet 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.river.Chrome 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 ') WebDriver driver = nowy 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 (By .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 = new Select (month_m) month_d1.selectByVisibleText ('Jul') driver.quit ()}}

Drugi program zajmuje się wykonywaniem czynności na liście rozwijanej. W takim przypadku wypiszmy liczbę miesięcy, a także nazwiska.

  • Utwórz listę elementów WebElements i wybierz opcje.
  • Wyświetl menu rozmiaru miesiąca.
  • Wydrukuj rozmiar listy miesięcy.
  • Utwórz kolejny obiekt WebElement to i uzyskaj nazwę miesiąca.
  • Wydrukuj liczbę, używając pętli for.
  • Zakończ wykonywanie sterownika.
pakiet 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) rzuca InterruptedException {System.setProperty ('webdriver.chrome.driver', ',' C: UsersVaishnaviDesktopchromedriver_win32 (2) chromedriver.exe ') Sterownik WebDriver = nowy ChromeDriver () JavascriptExecutor js = (JavascriptExecutor) sterownik driver.get (' http://www.facebook.com ') driver.manage (). Window () .maximize () //js.executeScript('window.scrollBy(0,300) ') WebElement month_dropdown = driver.findElement (By.id (' month ')) Wybierz oSelect = new Select (month_dropdown) List & ampampltWebElement & ampampgt month_list = oSelect.getOs ) int total_month = month_list.size () System.out.println ('Całkowita liczba to' + total_month) for (WebElement ele: month_list) {String month_name = ele.getText () System.out.println ('Months are' + month_name)} driver.quit ()}}

Teraz tym razem kończymy ten blog „Jak wybrać z listy rozwijanej w Selenium WebDriver”. Mam nadzieję, że podobał wam się ten artykuł i zrozumieliście, jak działa klasa Select w selenie.

Teraz, gdy zrozumiałeś, jak wybrać wartość z listy rozwijanej za pomocą Selenium, sprawdź autorstwa Edureka, zaufanej firmy zajmującej się edukacją online, z siecią ponad 650 000 zadowolonych uczniów rozsianych po całym świecie. Ten kurs ma na celu przedstawienie wszystkich funkcji Selenium i jego znaczenia w testowaniu oprogramowania.

Masz do nas pytanie? Wspomnij o tym w sekcji komentarzy „Jak wybrać z listy rozwijanej w Selenium WebDriver”, a my skontaktujemy się z Tobą.