Architecture of Selenium WebDriver

Selenium Webdriver is the web application automation testing tool. Selenium webdriver architecture is different from selenium RC.


Unlike Selenium RC, Selenium WebDriver directly speaks with browsers by using browsers native support. It is, in fact, easy than the Selenium RC. Once you start using webdriver,  You just need to set Selenium in your project, after successful setup, WebDriver acts like a normal library. WebDriver Architecture can be easily understood if you break it into parts and then learn it.


So here we will divide the Architecture into three parts:

  1. Programming Language Level Binding
  2. Selenium Webdriver API
  3. Drivers

WebDriver Architecture


Video Tutorial:

If you liked this video, then please subscribe to our YouTube Channel for more video tutorials.


1. Binding –  Using mentioned language level bindings we can implement Selenium WebDriver code. Once we make the framework using these programming languages, it will help to interact with the Selenium WebDriver and then can work on different browsers.


2. Webdriver API –  Binding languages communicates with WebDriver API. The WebDriver API interprets the command taken from Bindings and transfers it to the respective Driver. In short, you can say that the WebDriver API has a common library which sends commands to respective Drivers.


3. Browser Layer –  Driver interprets the commands send by the WebDriver API on the respective browser. And once the command is executed the result is sent back through the API to you where you can see the result on your system where you have written the code.


So now to understand the whole process is really easy. For example, you are using Java, so your Java binding will interact with the Selenium WebDriver API and then the WebDriver API is having a complete library of commands, so it sends commands to the respective browsers. The Drivers then execute the commands at the actual browser and sends the result through the WebDriver API to your system where you have written the code and then you can actually see the result.

0 Comment

Leave a Reply