TestingDocs.com
Software Testing website
  • Automation
    • Selenium
    • JBehave Framework
  • Tutorials
    • MySQL Tutorials
    • Testlink
    • Maven
    • Git
  • IDEs
    • IntelliJ IDEA
    • Eclipse
  • Flowcharts
    • Flowgorithm
    • Raptor
  • About

Selenium

Selenium WebDriver Architecture

Introduction

Let us get an overview of Selenium WebDriver architecture. Selenium WebDriver is an API for web automation that is easy and makes our tests easier to develop and maintain. It is an Object-oriented API that provides good support for Web Application Automation and Testing.

WebDriver is not attached to any tool and makes integration with other frameworks possible like TestNG (TDD), JBehave (BDD approach), POJO, etc.

WebDriver Architecture

Language bindings are a wrapper exposed to us to write code against. Also, this allows Webdriver API to support multiple languages and browsers as shown in the below figure. The example program Languages are Java, C#, Python, Javascript, etc. Furthermore, by using language bindings, we can invoke the browser-specific implementation of WebDriver to interact with the web application.

 

Selenium API

 

For example, the easiest way to download Java bindings is by using the Maven build tool. Maven will download the java bindings and all its dependencies and will create the project, using a pom.xml file.

WebDriverAPI

 

Under the hood: JSON wire protocol

Commands issued in the code would be converted to Restful Web service request/response with JSON payload ( application/json). In addition, JSON is a popular data format with libraries for handling it available for almost every language. Also, browsers can transform a string into an object using either a straight call with primitives designed to transform a Javascript object to and from a string securely and without side-effects. Furthermore, browser driver applications will communicate with different Web browsers natively to issue commands against Web Application under Test.

 

 

RemoteWebDriverArchitecture

 

For example a call to the driver.get(“https://www.bing.com”); would be mapped to a POST request to a URL encoding the session ID and ending with “/URL”, with the parameters.

POST on  URL    ( /session/<sessionId>/url )

{ “url”: “https://www.bing.com” }

 

Selenium WebDriver Tutorials on this website can be found at:

https://www.testingdocs.com/selenium-webdriver-tutorial

For more details on the Selenium, visit the official website at:

https://www.selenium.dev/

Related Posts

Windows 10 Settings

Selenium /

Add Microsoft Webdriver on Windows OS

Download Selenium Components

Selenium /

Getting Started with Selenium Webdriver

LambdaTest Testing Cloud SaaS Platform

Selenium /

LambdaTest – Testing Cloud SaaS Platform

Selenium /

Selenium 3.0 and Mozilla GeckoDriver

SauceLabs Website

Selenium /

Run an Example Test on SauceLabs

‹ Selenium : Working with Cookies› BrowserStack : Parallel Testing

Recent Posts

  • MS Access Data Types
  • Install RAPTOR Avalonia on CentOS
  • Download RAPTOR Avalonia Edition on Windows
  • npm doctor command
  • Build & Run CLion Project
  • Create New CLion C Project on Windows
  • Configure CLion Toolchains on Windows
  • Launch CLion IDE on Windows
  • Activate CLion IDE
  • CLion IDE for C/C++ Development

Back to Top

Links

  • Contact
  • Privacy Policy
  • Cookie Policy

www.TestingDocs.com

Go to mobile version