Outline

Web automation comprises of four basic concepts these are Navigation, Interrogation, Manipulation and Synchronization. Formerly, Selenium API was not categorized for Webdriver’s predecessor Selenium RC but for Webdriver, Selenium API is categorized based on those categories. In this post, I will explain the webdriver’s API and its categories.

Audience

This tutorial is designed for beginners who have little or no automation experience. At the end of this tutorial, you will have a knowledge on Selenium Webdriver API.

Prerequisites

Nice to have: Before starting to read this post it is better to read “

[Selenium-1] Quick Start to Selenium WebDriver with JAVA & JUnit & Maven & IntelliJ” post.

Selenium Webdriver at a Glance

Reference link: https://www.mindmeister.com/280141421/selenium-2-webdriver-commands

In above link you see Selenium Webdriver API and its commands at a glance. This is a perfect mind map for testers who are using Webdriver for web automation projects. In below picture you see that selenium webdriver commands divided into five main categories.

selenium_architecture_1

Navigation

Navigation means open a browser, move to a page from another one, back, forward, etc.

selenium_architecture_2

Interrogation

Interrogation means get information about website and its elements. For example, read the page title, read url, get text, get options, find element’s location, get element’s size, etc.

selenium_architecture_3

Manipulation

Manipulation means that clicking on links and buttons, filling forms, cleaning texts, pressing keys, drag & dropping etc.

selenium_architecture_4

Synchronization

While we are writing our test automation codes synchronization is one of the most important part of our automation task. We have to manage the automation speed, wait the web application events etc. It is so important to use timeouts. In this way, we provide much more solid and reliable web test automation.

selenium_architecture_5

Domain

Domain part is about changing frames & windows, managing alerts and cookies, selecting drivers for browsers.

selenium_architecture_6

Note: Detailed mind-map is shown at https://www.mindmeister.com/280141421/selenium-2-webdriver-commands

Many thanks to Alan Richardson for this beautiful mind-map.