Enroll Now

Porto

Understanding Selenium WebDriver and its components

Understanding Selenium WebDriver and its components

a

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 giant
s 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().

 

 

Comments