Tutorials Hut

  • Selenium WebDriver

       Selenium Introduction
       Benefits of Selenium
       Four components of Selenium
       Difference b/w Selenium IDE, RC & WebDriver
       Selenium WebDriver Architecture
       Background when user execute selenium code
       Download and Install Java
       Download and Install Eclipse
       Download Selenium WebDriver
       Selenium WebDriver Locators
       Selenium - Launch Browser
       Selenium WebDriver Waits
       Selenium- Implicit wait
       Selenium- Explicit wait
       Selenium- Fluent wait
       Selenium- Commonly used commands
       Selenium- findElement & findElements
       Selenium- Selenium-Handling check Box
       Selenium- Handling Radio button
       Selenium- Handling drop down
       Selenium- Take Screenshot
       Selenium- Handle Web Alerts
       Selenium- Multiple Windows Handling
       Selenium- Handle iframes
       Selenium- Upload a file
       Selenium- Download a file
       Selenium- Actions Class Utilities
       Selenium- Mouse Actions
       Selenium- Keyboards Events
       Selenium- Handle mouse hover Actions
       Selenium- Drag and Drop
       Selenium- Scroll a WebPage
       Selenium- Context Click / Right Click
       Selenium- Double Click
       Selenium- Desired Capabilities
       Selenium- Assertions
       Selenium- Exceptions and Exception Handling
       Selenium- Difference b/w driver.close() & driver.quit()
       Selenium- difference b/w driver.get() & driver.navigate()
       Selenium- JavascriptExecutor
       Selenium- Read excel file using Fillo API
       Selenium- Database Testing using Selenium
       Selenium- Read & write excel file using Apache POI
       Selenium- Read and Write csv file in Selenium
       Selenium- Dynamic Web Table Handling
       Selenium- Maven Integration with Selenium
       Selenium- Set up Logging using Log4j
       Selenium-Implement Extent Report



  • Selenium WebDriver Architecture and How it works internally?

    In this post we will learn about  Selenium WebDriver Architecture and how the selenium works internally .Selenium WebDriver API provides communication facility between languages and browsers.

      1. Selenium WebDriver Architecture
      2. What happens in background when user execute selenium code?

    Selenium WebDriver Architecture

    There are four basic components of WebDriver Architecture:

      • Selenium client Libraries
      • JSON Wire Protocol over http
      • Browser Drivers
      • Browsers
    Selenium WebDriver Architecture

    1) Selenium client Libraries

      • Selenium developers have developed language bindings/ Client Libraries in order to support multiple languages
      • there are bindings available for a each languages like , Java ,C#, ,Python ,Ruby, PHP, etc. Any tester who has a basic knowledge of working with any programming language can get specific language bindings and can start off. 

    2) JSON Wire Protocol over http

      • JSON Wire Protocol does  all the communication between the browser and the code. 
      • JSON is an open standard for exchanging data on web and It supports data structures like object and array. so it become easy to write and read data from JSON.
      • Data is transferred using a RESTful (Representational State Transfer)  API  using  JSON over HTTP.

    3) Browser Drivers

      • Each browser (supported by selenium) has its own implementation of the W3C standard that Selenium provides each browser has own separate browser driver (browser binaries )
      • Drivers communicate with the respective browser and it hides the implementation logic from the end-user
      • JSON Wire protocol makes  a connection between the browser binaries and the client libraries.

    4) Browsers

    There are multiple browsers supported by selenium which are Firefox , Internet explorer , chrome , opera , Safari etc.

    What happens in background when user execute selenium code?

    Selenium web-driver gives you an API that will give you access to methods like sendkeys(), getTitle(), findElement() etc.

    Below are the actions happen in the background

      1. For  each Selenium command there is  an individual HTTP request  generates (every command in your script will be converted as a URL) and it passed to the respective browser driver
      2. The browser driver receives the request through an HTTP server.

    For eg ,Client makes http POST requests to the browser driver. findElement, click() are sent as POST request to the browser driver from the client.

      1. The HTTP server decides which actions  need to execute on the real browser.
      2. The browser follows the instructions as decided in the previous step and executes it.
      3. The HTTP server receives the execution status  and then sends back the status to an automation script, which actually shows the result either passed , fail or error etc.

                   It is all about Selenium WebDriver Architecture.




  • Selenium WebDriver Tutorials

       Selenium Introduction
       Benefits of Selenium
       Four components of Selenium
       Difference b/w Selenium IDE, RC & WebDriver
       Selenium WebDriver Architecture
       Background when user execute selenium code
       Download and Install Java
       Download and Install Eclipse
       Download Selenium WebDriver
       Selenium WebDriver Locators
       Selenium - Launch Browser
       Selenium WebDriver Waits
       Selenium- Implicit wait
       Selenium- Explicit wait
       Selenium- Fluent wait
       Selenium- Commonly used commands
       Selenium- findElement & findElements
       Selenium- Selenium-Handling check Box
       Selenium- Handling Radio button
       Selenium- Handling drop down
       Selenium- Take Screenshot
       Selenium- Handle Web Alerts
       Selenium- Multiple Windows Handling
       Selenium- Handle iframes
       Selenium- Upload a file
       Selenium- Download a file
       Selenium- Actions Class Utilities
       Selenium- Mouse Actions
       Selenium- Keyboards Events
       Selenium- Handle mouse hover Actions
       Selenium- Drag and Drop
       Selenium- Scroll a WebPage
       Selenium- Context Click / Right Click
       Selenium- Double Click
       Selenium- Desired Capabilities
       Selenium- Assertions
       Selenium- Exceptions and Exception Handling
       Selenium- Difference b/w driver.close() & driver.quit()
       Selenium- difference b/w driver.get() & driver.navigate()
       Selenium- JavascriptExecutor
       Selenium- Read excel file using Fillo API
       Selenium- Database Testing using Selenium
       Selenium- Read & write excel file using Apache POI
       Selenium- Read and Write csv file in Selenium
       Selenium- Dynamic Web Table Handling
       Selenium- Maven Integration with Selenium
       Selenium- Set up Logging using Log4j
       Selenium-Implement Extent Report

















  • Leave a Reply

    Your email address will not be published. Required fields are marked *

    Scroll to Top