How to automate email validation?

Sometimes we are required to automate a test that asks the user to validate email. e.g. on registering a new user, a welcome email is sent to the user’s registered email address. One simple way is to open the webmail in the browser and automate it like any other web application. However, it has some …

Read moreHow to automate email validation?

TestNG | Introduction & Setup

TestNG – List of tutorials Introduction & Setup (You are reading this) Annotations (coming soon) Running a simple TestNG test with Selenium (coming soon) Assertions (coming soon) Introduction to TestNG test suite, i.e. testng.xml (coming soon) Managing test execution through test suite (coming soon) Parameters (coming soon) Data Providers (coming soon) Test execution reports (coming …

Read moreTestNG | Introduction & Setup

Selenium Grid | Setting up Hub and Nodes

In the Previous Tutorial, we learned some advanced user interactions like automating mouse and keyboard movements. In this tutorial, we’ll learn to distribute our tests on remote machines. What is Selenium Grid? Selenium Grid provides a mechanism where we can run tests in a distributed environment against multiple browsers and operating systems. It works as a …

Read moreSelenium Grid | Setting up Hub and Nodes

Advanced User Interactions | Automating Keyboard press events

Quick Reference for key-press automation In the Previous Tutorial, we learned to automate drag-drop operations. In this tutorial, we’ll learn ways to automate different keyboard press events. Automating a use case for keypress Go to Automation Practice (Beginner) page Press ‘SHIFT’ and then enter values in the input box to simulate typing in upper-case. Press Ctrl-a to …

Read moreAdvanced User Interactions | Automating Keyboard press events

Advanced User Interactions | Performing drag and drop operations

Quick Reference to perform drag-drop In the Previous Tutorial, we covered the following – Introduction to Actions class Action interface Using moveToElement() method to move the mouse over an element Methods build() and perform() In this tutorial, we’ll learn to perform mouse drag-drop operations. Use dragAndDropBy() method to drag a slider from left to right by …

Read moreAdvanced User Interactions | Performing drag and drop operations

Advanced User Interactions | Introducing Actions and moving the mouse over an element

In the Previous Tutorial, we learned to execute a piece of Javascript through WebDriver. In this tutorial, we’ll learn some advanced user interactions. What is advanced user interactions? Sometimes we need to interact with our system’s mouse or keyboard to simulate user interaction. For instance, let’s say, in a web application, there is a menu bar. On …

Read moreAdvanced User Interactions | Introducing Actions and moving the mouse over an element

Interacting with the browser | Executing JavaScript through JavascriptExecutor

In the Previous Tutorial, we learned to take the screenshot of the page. In this tutorial, we’ll explore ways to execute a piece of Javascript through the WebDriver. What the heck is JavaScript? Well, JavaScript is a scripting language that runs on Client-side, i.e on the browser (those who are smarter please forget about node.js for a …

Read moreInteracting with the browser | Executing JavaScript through JavascriptExecutor

Waits | Explicit wait

In the Previous Tutorial, we learned the following ways of handling synchronization issues – What are the timeout/wait issues in Test Automation? How to address it by waiting for the element before performing the action? Getting the list of elements with a matching locator Instructing code to wait for the predefined time – Hardcoded wait Issues …

Read moreWaits | Explicit wait

Waits | Implicit Wait

In the Previous Tutorial, we learned to interact with the elements in the page. In this tutorial, we’ll learn to handle the timeout issues in the script. What are timeout or wait issues in the automation script? Let us say you wrote a script to automate this scenario: Go to myshopping.com Search for iPhone Click on Add …

Read moreWaits | Implicit Wait

Interacting with the Elements in the page | Performing actions like click, type, select etc

In the Previous Tutorial, we wrote a script where we located all elements in Automation Practice page on which we wanted to perform some actions. We explored the following – Method to find an element Different WebDriver locators to pass as a parameter to find an element – linkText id className xpath cssSelector name partialLinkText tagName In this tutorial, …

Read moreInteracting with the Elements in the page | Performing actions like click, type, select etc