Categories: Selenium Topics

How to Verify if Options in Dropdown are Sorted as Expected In Selenium WebDriver – Java

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.

HTML for dropdown:



<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>

Java code to verify if options are sorted in ascending order:

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();
                
        }
}

Output:

Options in dropdown with Default order :[English, Hindi, Kannada, Malaylam, Tamil, Telgu]
Sorted List [English, Hindi, Kannada, Malaylam, Tamil, Telgu]
List is sorted

 

Java code to verify if options are sorted in descending order:

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

Author: Amod Mahajan

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

Amod Mahajan

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

Recent Posts

How Much Java Required For Selenium?

"How much Java I need to learn for selenium with Java binding?" is mostly asked question by a Professional who…

2 weeks ago

How To Verify If An Input Box Accepts Only Numbers Through Selenium

Hello Guys, You should not be able to type alphabets or special characters in a field which supposed to accept…

2 weeks ago

How To Verify Maximum Character Limit of an Input Box Through Selenium

Hello Folks, Recently a guy asked me this question which he was asked in an interview in IBM. What the…

2 weeks ago

API Testing Tutorial Part 15 – Sending GET Request With Params in Postman

Hello Folks, As part of our API Testing series, we will see “Sending GET request with params in Postman”. In last…

2 weeks ago

TestNG Tutorials 62: Dependency in TestNG – Types of Dependencies in TestNG

We have learnt in previous posts regarding establishing relationship between test methods. You can go through them below: Dependency in…

3 weeks ago

TestNG Tutorials 61: Dependency in TestNG – Creating Dependency Among Test Methods – DependsOnGroup

In previous post, We have learnt to Establish dependency among test methods. In this post, we will see another concept…

3 weeks ago