i

Selenium Step By Step Guide

Selenium WebDriver Architecture

WebDriver operational architecture shows how exactly WebDriver forms the communication channel among test code, browser driver, and the browsers. These three communicates with each other over some medium as:

Test code communicates to browser driver using JSON Wire protocol, and the Browser driver creates communication with the browser over HTTP.

Language Bindings & JSON Wire Protocol:

As we are aware that Selenium provides support to a set of programming languages such as Java, Ruby, Python, C#, JavaScript, and Kotlin. These language bindings are the primary source of the interaction of users, which connects to browser drivers through JSON wire protocol.

JSON Wire protocol is a way to represent the user requests which are sent to browser driver using WebDriver API.

Browser drivers and Browser interactions:

Once the browser driver gets the commands given by tester in the form of the API calls, the driver interacts with the browser, and the browser executes these commands to fulfil the expectations of the tester. This is a two-way process between the browser driver and browser. The communication which takes place between this driver and browser happens over an HTTP server.

WebDriver removes the need to have a launch of the Selenium RC server, and hence this was the main reason for merging the Selenium RC project with the WebDriver project.