• Articles

What is Action Class in Selenium?

The Action Class is a vital feature of the Selenium automation framework that empowers testers to simulate user interactions with web elements. It provides a set of methods to perform advanced and interactive actions such as mouse movements, keyboard events, etc. 

By utilizing the Action Class, testers can enhance their automation scripts and simulate real-user behavior, enabling comprehensive testing of web applications. Let’s explore the world of Action Class and revolutionize your automation testing.

Check out this video on Selenium Tutorial For Beginners to learn all its concepts:

Action Class in Selenium Explained

The Action Class in Selenium is a utility class that facilitates the automation of user interactions with web elements. It allows testers to perform advanced actions like mouse movements, keyboard events, context clicks, and more, which are not easily achievable with basic Selenium commands. 

Testers can replicate complicated user interactions using the Action Class, enhancing their automation scripts’ accuracy and efficiency. The Action Class allows testers to build solid and realistic test scenarios, facilitating thorough testing of web applications.

Also, check out the blog on Selenium with Java.

Methods of Action Class

Methods of Action Class

The Action Class in Selenium provides a range of methods to perform advanced user interactions. These methods allow testers to simulate various user interactions, enabling comprehensive testing of web applications. 

By combining these methods creatively, testers can automate complex scenarios, such as drag-and-drop operations, mouse hover actions, Selenium keyboard actions, and more. 

The flexibility offered by the Action Class methods enhances the versatility and accuracy of test scripts, making them an invaluable tool for effective Selenium automation.

Some commonly used methods are as follows:

  • click(WebElement element): Performs a left-click on the specified web element
  • contextClick(WebElement element): Performs a right-click on the given web element
  • doubleClick(WebElement element): Performs a double-click action on the specified web element
  • moveToElement(WebElement element): Moves the mouse pointer to the center of the specified web element
  • dragAndDrop(WebElement source, WebElement target): Drags the source element and drops it onto the target element
  • keyDown(Keys key): Simulates pressing a specific keyboard key
  • keyUp(Keys key): Simulates the release of a specific keyboard key
  • sendKeys(CharSequence keys): Sends a sequence of characters to the active web element

Do you want to become a professional in the field of Selenium!! We recommend you enroll in our Selenium Certification Training program.

How to Use Action Class in Selenium?

Using the Action Class in Selenium involves a few simple steps:

  1. Create an instance of the Action Class:
Java:
Actions actions = new Actions(driver);
  1. Identify the web element on which you want to perform an action:
Java:
WebElement element = driver.findElement(By.id("elementId"));
  1. Use the Action Class method to perform the desired actions:
Java:
actions.click(element).build().perform();

Here, the click() method performs a left-click action on the specified element. You can explore other methods like contextClick(), doubleClick(), moveToElement(), etc., to perform different actions.

  1. Build and perform the action:
Java:
actions.build().perform();

The build().perform() method is used to compile all the defined actions and execute them.

By adhering to these procedures and importing the Actions Class, you can harness the capabilities offered by the Action Class in Selenium to execute sophisticated user interactions. This will elevate the quality and performance of your automation scripts.

Check out the list of Selenium Interview Questions to prepare for your next interview.

Get 100% Hike!

Master Most in Demand Skills Now !

How to Import Action Class in Selenium?

To incorporate and utilize the Action Class in Selenium, it is essential to follow the subsequent steps:

  1. Import the Selenium Actions Class from the Selenium WebDriver package at the beginning of your Java file:
Java:
import org.openqa.selenium.interactions.Actions;
  1. Instantiate the Actions Class by utilizing the WebDriver instance, typically referred to as the ‘driver’:
Java:
Actions actions = new Actions(driver);
  1. Subsequently, you are able to utilize the actions object to execute diverse actions on web elements, including clicking, hovering, dragging, and more. As an illustration:
Java:
actions.click(element).build().perform();

In this example, the click() method performs a left-click action on the specified web element.

  1. Finally, remember to build and perform the action using build().perform() method:
Java:
actions.build().perform();

By adhering to these instructions and importing the Actions class, you can harness the capabilities offered by the Action Class in Selenium to execute advanced user interactions. This will enrich your automation scripts:

Also, check out the blog on Extent Report in Selenium.

Examples of Action Class in Selenium

Examples of Action Class in Selenium

The Action Class in Selenium offers various methods to perform interactive actions on web elements. Here are a few examples:

  • Perform Click Action on the Web Element
Java:
WebElement button = driver.findElement(By.id("buttonId"));
Actions actions = new Actions(driver);
actions.click(button).build().perform();

The click() method simulates a left-click action on the specified button element.

  • Perform Selenium Mouse Hover Action on the Web Element
Java:
WebElement element = driver.findElement(By.id("elementId"));
Actions actions = new Actions(driver);
actions.moveToElement(element).build().perform();

The moveToElement() method moves the mouse pointer to the center of the specified element, enabling mouse hover functionality.

  • Perform Double Click Action on the Web Element
Java:
WebElement element = driver.findElement(By.id("elementId"));
Actions actions = new Actions(driver);
actions.doubleClick(element).build().perform();

The doubleClick() method performs a double-click action on the specified element.

These examples showcase some commonly used actions, but the Action Class provides many more methods to perform advanced user interactions like selenium drag-and-drop, keyboard events, context clicks, and more. By combining these methods creatively, testers can simulate realistic user behavior and thoroughly test web applications.

Also, check out the Selenium Tutorial.

Conclusion

In conclusion, the Action Class in Selenium plays a crucial role in automating intricate user interactions within web applications. It provides a range of methods like click, drag-and-drop, and context-click to simulate diverse actions on web elements. You need to import the necessary package or module into your Selenium test script to employ the Action Class. By incorporating the Action Class, you can augment the capabilities of your test automation and effectively handle complex scenarios. With its adaptability and extensive functionality, the Action Class serves as a valuable tool for enhancing the efficiency and precision of your Selenium tests.

Drop any of your queries in our Selenium Community and start a discussion.

Course Schedule

Name Date Details
Testing Courses 11 May 2024(Sat-Sun) Weekend Batch
View Details
Testing Courses 18 May 2024(Sat-Sun) Weekend Batch
View Details
Testing Courses 25 May 2024(Sat-Sun) Weekend Batch
View Details