КАК ОБРАЩАТЬСЯ С ВЫПАДАЮЩИМ СПИСКОМ И МНОЖЕСТВЕННЫМ ВЫБОРОМ, ИСПОЛЬЗУЯ SELENIUM WEBDRIVER

Обработка раскрывающегося списка и списка с множественным выбором с помощью Selenium WebDriver

Чтобы обрабатывать раскрывающийся список и список с множественным выбором с помощью Selenium WebDriver, нам нужно использовать Select class.

Класс Select  — это класс Webdriver, обеспечивающий реализацию HTML-тега SELECT. Он предоставляет несколько методов типа «Select By» и «Deselect By». Мы используем эти методы для выбора или отмены выбора в раскрывающемся списке или объекте множественного выбора. Класс Select является частью пакета selenium.

Нам нужно импортировать указанную ниже библиотеку.

1

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

Стандартный синтаксис Select Class следующий:

1

Выпадающее меню Select = new Select(<WebElement>);

Пример:

12

WebElement mySelectElement = driver.findElement(By.name(“dropdown”));Выпадающий список Select = new Select(mySelectElement);

или

1

Select dropdown = new Select(driver.findElement(By.xpath(“//select[@name='dropdown']”)));

Примечание. Выберите класс начинается с заглавной буквы “S”.

Для обработки раскрывающихся списков и списков множественного выбора в Selenium мы используем следующие типы методов выбора.

Типы методов выбора:

i. Метод selectByVisibleText
ii. Метод selectByIndex
iii. Метод selectByValue

Типы методов DeSelect:
i. Метод deselectByVisibleText
ii. Метод deselectByIndex
iii. Метод deselectByValue
iv. Метод deselectAll

Давайте рассмотрим один за другим на примере программы:

SelectByVisibleText Метод: 

Он работает на основе «видимого текста», предоставленного нами.

Синтаксис:

1

dropdown.selectByVisibleText();

Пример программы: selectByVisibleTextJava

123456789101112131415161718192021222324252627282930

пакет программного обеспечения TestingMaterial; импорт java.util.concurrent.TimeUnit; импорт org.openqa.selenium.By; импорт org.openqa.selenium.WebDriver; импорт org.openqa.selenium.WebElement; импорт org.openqa.selenium.chrome.ChromeDriver; импорт org. openqa.selenium.support.ui.Select;импортировать org.testng.annotations.Test; открытый класс SelectMethod {@Testpublic static void captureScreenMethod() выдает Exception{System.setProperty(“webdriver.chrome.driver”,”D://Selenium Environment//Drivers//chromedriver.exe”); Драйвер WebDriver = новый ChromeDriver( );driver.manage().window().maximize();driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);driver.get(“https://www.softwaretestingmaterial.com/sample-webpage-to-automate/”);driver.navigate().refresh();//После инициализации объекта выбора вы можете получить доступ ко всем методам класса выбора.//Идентифицируйте выбранный элемент HTML:Thread .sleep(10000);WebElement mySelectElement = driver.findElement(By.name(“dropdown”));Select dropdown= new Select(mySelectElement);//Чтобы выбрать параметр – selectByVisibleText, selectByIndex, selectByValue//selectByVisibleTextdropdown.selectByVisibleText( “Автоматическое тестирование”);}}

SelectByIndex Метод:

работает на основе 'значения индекса предоставлено нами.

Синтаксис

1

dropdown.selectByIndex(Index);

Пример программы: selectByIndexJava

123456789101112131415161718192021222324252627282930

пакет программного обеспечения TestingMaterial; импорт java.util.concurrent.TimeUnit; импорт org.openqa.selenium.By; импорт org.openqa.selenium.WebDriver; импорт org.openqa.selenium.WebElement; импорт org.openqa.selenium.chrome.ChromeDriver; импорт org. openqa.selenium.support.ui.Select;импортировать org.testng.annotations.Test; открытый класс SelectMethod {@Testpublic static void captureScreenMethod() выдает Exception{System.setProperty(“webdriver.chrome.driver”,”D://Selenium Environment//Drivers//chromedriver.exe”); Драйвер WebDriver = новый ChromeDriver( );driver.manage().window().maximize();driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);driver.get(“https://www.softwaretestingmaterial.com/sample-webpage-to-automate/”);driver.navigate().refresh();//После инициализации объекта выбора вы можете получить доступ ко всем методам класса выбора.//Идентифицируйте выбранный элемент HTML:Thread .sleep(10000);WebElement mySelectElement = driver.findElement(By.name(“dropdown”));Select dropdown= new Select(mySelectElement);//Чтобы выбрать параметр – selectByVisibleText, selectByIndex, selectByValue//selectByIndexdropdown.selectByIndex( 2); //значение равно QTP}}

SelectByValue Метод:

работает на основе предоставленного 'value' нами.

Синтаксис

1

dropdown.selectByValue(Value);

Пример программы: selectByValueJava

123456789101112131415161718192021222324252627282930

пакет программного обеспечения TestingMaterial; импорт java.util.concurrent.TimeUnit; импорт org.openqa.selenium.By; импорт org.openqa.selenium.WebDriver; импорт org.openqa.selenium.WebElement; импорт org.openqa.selenium.chrome.ChromeDriver; импорт org. openqa.selenium.support.ui.Select;импортировать org.testng.annotations.Test; открытый класс SelectMethod {@Testpublic static void captureScreenMethod() выдает Exception{System.setProperty(“webdriver.chrome.driver”,”D://Selenium Environment//Drivers//chromedriver.exe”); Драйвер WebDriver = новый ChromeDriver( );driver.manage().window().maximize();driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);driver.get(“https://www.softwaretestingmaterial.com/sample-webpage-to-automate/”);driver.navigate().refresh();//После инициализации объекта выбора вы можете получить доступ ко всем методам класса выбора.//Идентифицируйте выбранный элемент HTML:Thread .sleep(10000);WebElement mySelectElement = driver.findElement(By.name(“dropdown”));Select dropdown= new Select(mySelectElement);//Чтобы выбрать параметр – selectByVisibleText, selectByIndex, selectByValue//selectByValuedropdown.selectByValue( “мануал”); //значение — ручное тестирование}}

 

Методы DeSelect с примерами:

DeselectByVisibleText Метод:

Он работает на основе 'видимого текста' который мы предоставляем

Синтаксис:

< tbody>

1

dropdown.deselectByVisibleText();

Пример программы:

1234567891011121314151617181920212223242526272829303132

пакет программного обеспечения TestingMaterial; импорт java.util.concurrent.TimeUnit; импорт org.openqa.selenium.By; импорт org.openqa.selenium.WebDriver; импорт org.openqa.selenium.WebElement; импорт org.openqa.selenium.chrome.ChromeDriver; импорт org. openqa.selenium.support.ui.Select;импортировать org.testng.annotations.Test; открытый класс SelectMethod {@Testpublic static void captureScreenMethod() выдает Exception{System.setProperty(“webdriver.chrome.driver”,”D://Selenium Environment//Drivers//chromedriver.exe”); Драйвер WebDriver = новый ChromeDriver( );driver.manage().window().maximize();driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);driver.get(“https://www.softwaretestingmaterial.com/sample-webpage-to-automate/”);driver.navigate().refresh();//После инициализации объекта выбора вы можете получить доступ ко всем методам класса выбора.//Идентифицируйте выбранный элемент HTML:Thread .sleep(10000);WebElement mySelectElement = driver.findElement(By.name(“multipleselect[]”));Select dropdown= new Select(mySelectElement);//Чтобы отменить выбор параметра//метод отмены выбора вызовет исключение UnsupportedOperationException, если SELECT не поддерживает множественный выбор м>Метод DeselectByIndex:

работает на основе 'значения индекса', которое мы предоставляем

Синтаксис:

1

dropdown.deselectByIndex();

Пример программы:

deselectByIndexJava

1234567891011121314151617181920212223242526272829303132

пакет программного обеспечения TestingMaterial; импорт java.util.concurrent.TimeUnit; импорт org.openqa.selenium.By; импорт org.openqa.selenium.WebDriver; импорт org.openqa.selenium.WebElement; импорт org.openqa.selenium.chrome.ChromeDriver; импорт org. openqa.selenium.support.ui.Select;импортировать org.testng.annotations.Test; открытый класс SelectMethod {@Testpublic static void captureScreenMethod() выдает Exception{System.setProperty(“webdriver.chrome.driver”,”D://Selenium Environment//Drivers//chromedriver.exe”); Драйвер WebDriver = новый ChromeDriver( );driver.manage().window().maximize();driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);driver.get(“https://www.softwaretestingmaterial.com/sample-webpage-to-automate/”);driver.navigate().refresh();//После инициализации объекта выбора вы можете получить доступ ко всем методам класса выбора.//Идентифицируйте выбранный элемент HTML:Thread .sleep(10000);WebElement mySelectElement = driver.findElement(By.name(“multipleselect[]”));Select dropdown= new Select(mySelectElement);//Чтобы отменить выбор параметра//метод отмены выбора вызовет исключение UnsupportedOperationException, если SELECT не поддерживает множественный выбор >Работает на основе т. он ‘значение', предоставленное нами.

Синтаксис:<класс таблицы =crayon-table>

1

dropdown.deselectByValue();

Пример программы:

deselectByValueJava<класс таблицы =crayon-table>

1

dropdown.deselectAll( );

Пример программы:

deselectAllJava

1234567891011121314151617181920212223242526272829303132

пакет программного обеспечения TestingMaterial; импорт java.util.concurrent.TimeUnit; импорт org.openqa.selenium.By; импорт org.openqa.selenium.WebDriver; импорт org.openqa.selenium.WebElement; импорт org.openqa.selenium.chrome.ChromeDriver; импорт org. openqa.selenium.support.ui.Select;импортировать org.testng.annotations.Test; открытый класс SelectMethod {@Testpublic static void captureScreenMethod() выдает Exception{System.setProperty(“webdriver.chrome.driver”,”D://Selenium Environment//Drivers//chromedriver.exe”); Драйвер WebDriver = новый ChromeDriver( );driver.manage().window().maximize();driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);driver.get(“https://www.softwaretestingmaterial.com/sample-webpage-to-automate/”);driver.navigate().refresh();//После инициализации объекта выбора вы можете получить доступ ко всем методам класса выбора.//Идентифицируйте выбранный элемент HTML:Thread .sleep(10000);WebElement mySelectElement = driver.findElement(By.name(“multipleselect[]”));Select dropdown= new Select(mySelectElement);//Чтобы отменить выбор параметра//метод отмены выбора вызовет исключение UnsupportedOperationException, если SELECT не поддерживает несколько вариантов выбораdropdown.selectByValue(“msagile”);Thread.sleep(2000);dropdown.deselectAll();}}

 

Чтобы получить выбранный вариант:

Пример программы: getFirstSelectedOptionJava

1234567891011121314151617181920212223242526272829

пакет программного обеспечения TestingMaterial; импорт java.util.concurrent.TimeUnit; импорт org.openqa.selenium.By; импорт org.openqa.selenium.WebDriver; импорт org.openqa.selenium.WebElement; импорт org.openqa.selenium.chrome.ChromeDriver; импорт org. openqa.selenium.support.ui.Select;импортировать org.testng.annotations.Test; открытый класс SelectMethod {@Testpublic static void captureScreenMethod() выдает Exception{System.setProperty(“webdriver.chrome.driver”,”D://Selenium Environment//Drivers//chromedriver.exe”); Драйвер WebDriver = новый ChromeDriver( );driver.manage().window().maximize();driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);driver.get(“https://www.softwaretestingmaterial.com/sample-webpage-to-automate/”);driver.navigate().refresh();//После инициализации объекта выбора вы можете получить доступ ко всем методам класса выбора.//Идентифицируйте выбранный элемент HTML:Thread .sleep(10000);WebElement mySelectElement = driver.findElement(By.name(“multipleselect[]”));Select dropdown= new Select(mySelectElement);WebElement option = dropdown.getFirstSelectedOption();System.out.println(option .получитьтекст()); //output “Selenium”}}

Чтобы получить список опций из выпадающего списка:

Пример программы:

Чтобы получить список опцийJava

1234567891011121314151617181920212223242526272829303132

пакет программного обеспечения TestingMaterial; импорт java.util.List; импорт java.util.concurrent.TimeUnit; импорт org.openqa.selenium.By; импорт org.openqa.selenium.WebDriver; импорт org.openqa.selenium.WebElement; импорт org.openqa.selenium. chrome.ChromeDriver;импортировать org.openqa.selenium.support.ui.Select;импортировать org.testng.annotations.Test; открытый класс SelectMethod {@Testpublic static void captureScreenMethod() выдает Exception{System.setProperty(“webdriver.chrome.driver”,”D://Selenium Environment//Drivers//chromedriver.exe”); Драйвер WebDriver = новый ChromeDriver( );driver.manage().window().maximize();driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);driver.get(“https://www.softwaretestingmaterial.com/sample-webpage-to-automate/”);driver.navigate().refresh();//После инициализации объекта выбора вы можете получить доступ ко всем методам класса выбора.//Идентифицируйте выбранный элемент HTML:Thread .sleep(10000);WebElement mySelectElement = driver.findElement(By.name(“multipleselect[]”));Select dropdown= new Select(mySelectElement);List<WebElement> options = dropdown.getOptions();for (параметр WebElement : опции) {System.out.println(option.getText()); //output “Selenium”, “QTP”, “Ручное тестирование”, “Автоматическое тестирование”, “Тестирование производительности”*/}}}

Если вы не являетесь постоянным читателем моего блога, я настоятельно рекомендую вы можете подписаться на бесплатную рассылку по электронной почте, используя ссылку ниже.

Подпишитесь и получайте бесплатную электронную книгу и регулярные обновления от SoftwareTestingMaterial.com
TAG: qa

От QA genius

Adblock
detector