Selenium WebDriver is also known as the Selenium 2.
Selenium WebDriver supports Mozilla Firefox, Google Chrome version 12.0.712.0 and above, Internet Explorer, Safari, Opera version 11.5 and above, and HtmlUnit version 2.9 and above. As for operating systems, Selenium WebDriver supports Windows, Linux, Mac OS, and Solaris.
To understand the working of Selenium WebDriver, we need to first understand the architecture of Selenium WebDriver.
As you can notice in the image, Selenium WebDriver comprises of 4 main components:
- Selenium Client Libraries
- JSON Wire Protocol Over HTTP Client
- Browser Drivers
- Real Browsers Selenium Client Libraries
Selenium allows you to execute browser automation with these scripts written in any programming language with the help of Selenium Client Libraries. These Client libraries act as an interpreter between your test script & Selenium. They translate a test script written in any programming language to Selenese through language bindings. That way, Selenium is able to follow your given instruction irrespective of what language you chose to write your Selenium test scripts.
The major and most widely used Selenium bindings provided by the Selenium Project are their to help you with:
- Java Selenium Testing
- Python Selenium Testing
- C# Selenium Testing
- Ruby Selenium Testing
- PHP Selenium Testing
JSON Wire Protocol Over HTTP Client
Selenium allows you to automate browser testing. With Selenium WebDriver, you can execute browser automation by interacting directly with all of the major browsers such as Google Chrome, Mozilla Firefox, Safari, Microsoft Edge, Opera, and more. Every browser comprises a Browser Driver which has its own HTTP server.
JSON Wire Protocol is responsible for communicating with the browser drivers through their HTTP server. It fetches the information from Selenium Client Libraries and then relays it to the respective Browser Driver.
Each browser has a driver which is responsible for controlling the actions performed within that browser. After JSON Wire Protocol relays information to a Browser Driver, the Browser Driver controls the Browser to execute your Selenium test scripts automatically and sends the response in HTTP protocol through a HTTP server. Following are the Browser Drivers for the major web browsers:
Selenium Webdriver allows you to interact with various web browsers i.e. Google Chrome, Mozilla Firefox, Safari, Opera, Microsoft Edge, and more. Kindly note, Selenium helps you perform automated browser testing of your web applications and not native mobile apps. For that purpose, you have another open-source framework called Appium.