Sunday, 19 June 2016

Understanding Selenium WebDriver and its components

Hello All welcome to http://seleniumlabs.in.Today I am here to talk about Selenium WebDriver and its components

Before we proceed to the topic, let me introduce myself to the blog. I am Souvik Dutta and I am a Test Automation Architect with nearly  8 years of experience in Selenium. I have worked with numerous IT giants like ADITI Technologies, XEROX, NTT DATA, EE(UK), Greatwest Financial and others. I am passionate about designing robust automation frameworks and implementing various Automation Proof Of Concepts. I live in Bangalore (IT Capital of India) and I conduct numerous Class Room, Online and Corporate Training's.

What is Selenium WebDriver?

Selenium WebDriver is an Open Source tool that is used predominantly for test automation. WebDriver in a very simple language “It is an API that is easy to explore and understand, which help us to make our tests easier to read and maintain.”
 

 Selenium WebDriver Architecture 

Architecture
Before starting the automation with Selenium WebDriver, lets understand the architecture of WebDriver. 

WebDriver has mainly three parts 

a) Language bindings
b) WebDriver API
c) Drivers   

Language binding sends command to the common driver API, other side the driver will be listening to those commands and will execute the same in browser using remote WebDriver and will return the response via API to the respective binding.

In the background whatever the commands are issued in the code will be interpreted into Web service methods (JSON Wired Protocol) and the Remote Driver will receive the HTTP request (commands) and execute them in the browser then send the response back.

How WebDriver communicates with HTML components? 

For communicating with Web Page components like : “Textboxes”, Buttons”,“Links” etc WebDriver use following inbuilt methods mentioned in the below table. However to find the objects to interact with it uses method findElement().