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

    • ChatGPT Plans Free and PlusChatGPT Subscription Plans
    • Stellar Converter for Database ToolStellar Converter for Database
    • Stellar MySQL Log AnalyzerStellar Log Analyzer for MySQL
    • Stellar Repair for MySQLStellar Repair for MySQL
    • ChatGPT IntroductionChatGPT Capabilities
    • How to secure your SQL Database: Tips and Tricks
    • ChatGPT4 Conversational AI FeaturesChatGPT4 Conversational AI Features
    • Trends in Software EngineeringShaping the Future of Development: Exploring Key Trends in Software Engineering
    • Java PerformanceImproving Java Performance with Multithreading
    • QDrant Vector DatabaseOpen-source Vector Databases
    • Difference between PHP and JavaScript?
    • Bing AI Browser Web ContentBing Conversation Styles
    • ChatGPT PreviewChatGPT Introduction
    • Open Source AI Frameworks TensorFlowOpen Source AI Frameworks
    • Artificial Intelligence Tools

    Back to Top

    Links

    • Contact
    • Privacy Policy
    • Cookie Policy

    www.TestingDocs.com