C-Sharp | Java | Python | Swift | GO | WPF | Ruby | Scala | F# | JavaScript | SQL | PHP | Angular | HTML
Selenium WebDriver- Handling drop-downsIn this section, you will learn how to handle drop-downs in Selenium WebDriver. Before proceeding with this section, let us first understand some of the basics of handling drop-downs in Selenium WebDriver. Select in Selenium WebDriverThe 'Select' class in Selenium WebDriver is used for selecting and deselecting option in a dropdown. The objects of Select type can be initialized by passing the dropdown webElement as parameter to its constructor. WebElement testDropDown = driver.findElement(By.id("testingDropdown")); Select dropdown = new Select(testDropDown); How to select an option from drop-down menu? WebDriver provides three ways to select an option from the drop-down menu. 1. selectByIndex - It is used to select an option based on its index, beginning with 0. dropdown.selectByIndex(5); 2. selectByValue - It is used to select an option based on its 'value' attribute. dropdown.selectByValue("Database"); 3. selectByVisibleText - It is used to select an option based on the text over the option. dropdown.selectByVisibleText("Database Testing"); Let us consider a test case in which we will automate the following scenarios:
We will create our test case step by step in order to give you a complete understanding of how to handle drop-downs in WebDriver. Step1. Launch Eclipse IDE and open the existing test suite "Demo_Test" which we have created in earlier sessions of this tutorial. Step2. Right click on the "src" folder and create a new Class File from New > Class. Give your Class name as "Dropdwn_Test" and click on "Finish" button. Step3. Let's get to the coding ground.
Here is the sample code to set system property for Chrome driver: // System Property for Chrome Driver System.setProperty("webdriver.chrome.driver","D:\\ChromeDriver\\chromedriver.exe");
Here is the sample code to initialize Chrome driver using ChromeDriver class. // Instantiate a ChromeDriver class. WebDriver driver=new ChromeDriver(); Combining both of the above code blocks, we will get the code snippet to launch Google Chrome browser. // System Property for Chrome Driver System.setProperty("webdriver.chrome.driver","D:\\ChromeDriver\\chromedriver.exe"); // Instantiate a ChromeDriver class. WebDriver driver=new ChromeDriver();
Here is the sample code to navigate to the desired URL: // Launch Website driver.navigate().to("https://www.testandquiz.com/selenium/testing.html"); The complete code till now will look something like this: import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class Partial_Link { public static void main(String[] args) { // System Property for Chrome Driver System.setProperty("webdriver.chrome.driver","D:\\ChromeDriver\\chromedriver.exe"); // Instantiate a ChromeDriver class. WebDriver driver=new ChromeDriver(); // Launch Website driver.navigate().to("https://www.testandquiz.com/selenium/testing.html"); } } Step4.Now we will try to locate the drop-down menu by inspecting its HTML codes. Follow the steps given below to locate the drop-down menu on the sample web page.
Step5. To automate our third test scenario, we need to write the code which will select the option "Database Testing" from the drop-down menu. Here is the sample code to so that: //Using Select class for selecting value from dropdown Select dropdown = new Select(driver.findElement(By.id("testingDropdown"))); dropdown.selectByVisibleText("Database Testing"); Thus, our final test script will look something like this: import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; import org.openqa.selenium.support.ui.Select; public class Dropdwn_Test { public static void main(String[] args) { // System Property for Chrome Driver System.setProperty("webdriver.chrome.driver","D:\\ChromeDriver\\chromedriver.exe"); // Instantiate a ChromeDriver class. WebDriver driver=new ChromeDriver(); // Launch Website driver.navigate().to("https://www.testandquiz.com/selenium/testing.html"); //Using Select class for selecting value from dropdown Select dropdown = new Select(driver.findElement(By.id("testingDropdown"))); dropdown.selectByVisibleText("Database Testing"); // Close the Browser driver.close(); } } The following screenshot shows the Eclipse window for our test script. Step6. Right click on the Eclipse code and select Run As > Java Application. Upon execution, the above test script will launch the Chrome browser and automate all the test scenarios.
Next TopicWebDriver- Drag and Drop
|