Tuesday, 26 August 2014

Selenium WebDriver Archietecure

Selenium is a browser automation tool, commonly used to test web applications. It will automate the control of a browser so that repetitive tasks can be automated. At a very high level, Selenium is a suite of three tools.
Selenium IDE is an extension for Firefox that allows users to record and playback tests.
Selenium WebDriver, provides APIs in a variety of languages to allow for more control and the application of standard software development practices. 
Selenium Grid makes it possible to use the Selenium APIs to control browser instances distributed over a grid of machines, allowing more tests to run in parallel.
In this article let’s see the Architecture of Selenium WebDriver.
Selenium WebDriver:
Selenium-WebDriver makes direct calls to the browser using each browser’s native support for automation. Since there are so many browsers & so many programming languages there is need for common specification which will be provided by WebDriver API. Each browser has to implement this API which is called as Remote WebDriver or Remote WebDriver Server. At a higher level Selenium WebDriver architecture look like this.

The language bindings will send the commands across the common driver API, on the other end there is going to be a driver listening to those commands and they will be executed in browser using remote WebDriver and it’s going to return the result/response via API to the code/Binding.
All implementations of WebDriver API that communicates with the browser (which is called as a Remote WebDriver) shall use a common wire protocol which is named as JSON Wired Protocol which is a RESTFUL webservice using JSON over HTTP.


Actually whatever the commands issued in the code will be interpreted into Webservice methods (HTTP methods to a specified URL) and the Remote Driver will receive the HTTP request (commands) and the execute them in the browser then send the response back.



To know FAQ's on Selenium Please ClickHere
To know SQL's Queries Required For Testers Please ClickHere

No comments:

Post a Comment