Hello Guys,
As I say always, your automation script is ineffective if you do not include logic to validate to make sure the desired action has been performed by Selenium script. For Example – You have a dropdown in your application. Manually you verify if dropdown contains desired options or it s sorted. Generally while automating same feature, we just select a value in dropdown and leave validating options in dropdown or if it is sorted. We will learn how can we achieve in Selenium-Java.
Infact, verifying dropdown contains sorted element require java code. Selenium can give only options in dropdown. What you need to validate on extracted options requires Java knowledge. As I say always, you can write better script if you are good in Java.
<strong>Select your language below:</strong> <select id="SingleDD"> <option value="Choose">Select</option> <option value="English">English</option> <option value="Hindi">Hindi</option> <option value="Kannada">Kannada</option> <option value="Malaylam">Malaylam</option> <option value="Tamil">Tamil</option> <option value="Telgu">Telgu</option> </select>
package HandlingDropdown; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.openqa.selenium.By; 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 ValidationOfSortedDropdownAscending { public static void main(String[] args) throws InterruptedException { // Launching browser System.setProperty("webdriver.chrome.driver","./exefiles/chromedriver.exe"); WebDriver driver= new ChromeDriver(); // Launching URL driver.get("file:///C:/Users/amodm/Desktop/SortedDropdown.html"); // Locating select tag web element WebElement singleSelectTagDropdownWebElement= driver.findElement(By.id("SingleDD")); Select dropdown = new Select(singleSelectTagDropdownWebElement); // Get all options List allOptionsElement = dropdown.getOptions(); // Creating a list to store drop down options List options = new ArrayList(); // Storing options in list for(WebElement optionElement : allOptionsElement) { options.add(optionElement.getText()); } // Removing "Select" option as it is not actual option options.remove("Select"); // Default order of option in drop down System.out.println("Options in dropdown with Default order :"+options); // Creating a temp list to sort List tempList = new ArrayList<>(options); // Sort list ascending Collections.sort(tempList); System.out.println("Sorted List "+ tempList); // equals() method checks for two lists if they contain the same elements in the same order. boolean ifSortedAscending = options.equals(tempList); if(ifSortedAscending) { System.out.println("List is sorted"); } else System.out.println("List is not sorted."); driver.quit(); } }
Options in dropdown with Default order :[English, Hindi, Kannada, Malaylam, Tamil, Telgu] Sorted List [English, Hindi, Kannada, Malaylam, Tamil, Telgu] List is sorted
package HandlingDropdown; import java.util.ArrayList; import java.util.Collections; import java.util.List; import org.openqa.selenium.By; 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 ValidationOfSortedDropdownDescending { public static void main(String[] args) throws InterruptedException { // Launching browser System.setProperty("webdriver.chrome.driver","./exefiles/chromedriver.exe"); WebDriver driver= new ChromeDriver(); // Launching URL driver.get("file:///C:/Users/amodm/Desktop/SortedDropdown.html"); // Locating select tag web element WebElement singleSelectTagDropdownWebElement= driver.findElement(By.id("SingleDD")); Select dropdown = new Select(singleSelectTagDropdownWebElement); // Get all options List allOptionsElement = dropdown.getOptions(); // Creating a list to store drop down options List options = new ArrayList(); // Storing options in list for(WebElement optionElement : allOptionsElement) { options.add(optionElement.getText()); } // Removing "Select" option as it is not actual option options.remove("Select"); // Default order of option in drop down System.out.println("Options in dropdown with Default order :"+options); // Creating a temp list to sort List tempList = new ArrayList<>(options); // Sort list descending Collections.sort(tempList, Collections.reverseOrder()); System.out.println("Sorted List "+ tempList); // equals() method checks for two lists if they contain the same elements in the same order. boolean ifSortedAscending = options.equals(tempList); if(ifSortedAscending) { System.out.println("List is sorted"); } else System.out.println("List is not sorted."); driver.quit(); } }
Output:
Options in dropdown with Default order :[English, Hindi, Kannada, Malaylam, Tamil, Telgu] Sorted List [Telgu, Tamil, Malaylam, Kannada, Hindi, English] List is not sorted.
If you have any doubt, feel free to comment below.
If you like my posts, please like, comment, share and subscribe.
#ThanksForReading
#HappySelenium
My name is Amod Mahajan and I am an IT employee with 4+ years of experience in Software testing and staying in Bengaluru. My area of interest is Automation testing. I started from basics and went throw so many selenium tutorials. Thanks to Mukesh Otwani as his tutorials are easy and cover basics to advance. I have habit of exploring concepts by deep diving. I used to make notes. I thought of sharing my knowledge through posts and now I am here. #KeepLearning #ShareLearning
"How much Java I need to learn for selenium with Java binding?" is mostly asked question by a Professional who…
Hello Guys, You should not be able to type alphabets or special characters in a field which supposed to accept…
Hello Folks, Recently a guy asked me this question which he was asked in an interview in IBM. What the…
Hello Folks, As part of our API Testing series, we will see “Sending GET request with params in Postman”. In last…
We have learnt in previous posts regarding establishing relationship between test methods. You can go through them below: Dependency in…
In previous post, We have learnt to Establish dependency among test methods. In this post, we will see another concept…