Selenium-Archtitecture-java - Notes By ShariqSP
Selenium Architecture - JAVA

Differences between Selenium 3 and Selenium 4
Selenium 4 introduced several new features and improvements over Selenium 3:
- Better support for modern web technologies
- Improved Selenium Grid with Docker integration
- Enhanced relative locators for better element locating strategies
- Integration with W3C WebDriver protocols
Automation Scripts
Automation scripts are sets of instructions written in programming languages like Java, Python, or C#, which automate the testing of web applications using Selenium WebDriver.
JSONWire Protocol
The JSONWire Protocol is the underlying protocol used by Selenium WebDriver to communicate with the browser drivers. It defines a RESTful web service using JSON over HTTP for communicating with browsers.
W3C Protocol
The W3C WebDriver Protocol is a new standard protocol for browser automation developed by the World Wide Web Consortium (W3C). It aims to standardize the way WebDriver interacts with browsers across different implementations.
Drivers
Drivers are software components that enable Selenium WebDriver to communicate with web browsers. Examples include ChromeDriver, GeckoDriver, EdgeDriver, SafariDriver, etc.
Language Binding (Client Binding)
Language bindings, also known as client bindings, are libraries or APIs provided by Selenium WebDriver for different programming languages (e.g., Java, Python, C#, Ruby) to write automation scripts.
W3C and Selenium
Selenium WebDriver has started adopting the W3C WebDriver Protocol to standardize browser automation. This allows Selenium to provide better compatibility and interoperability across different browsers and drivers.