Selenium WebDriver Architecture

Before getting hands on code, we should learn about Selenium. Learning about the architecture gives deeper understanding on the language.

Selenium WebDriver Architecture

  • Language Bindings – The Speaker/The Instructor :

As you already know Selenium is multi-linguistic it needs some kind of bindings for each language. That forms your Selenium Language Bindings.

The JAR (Java ARchive) files downloaded from the selenium website forms the Language Bindings.

  • Selenium APIThe Translator :

This Application Programming Interface is the working logic between the code that you have written and the WebDriver.

Selenium API is like a translator that translates your code to Selenium WebDriver code. So the translated format have a standard set of API. So we will have a common set of commands to work with.

The API translates the code to Stateless Programming Interface (SPI)

  • JSON Wire Protocol – The Transporter:

You know what’s a protocol. It’s set of rules that governs a process. Here the translated commands needs to be transported to the Browsers. JSON Wire protocol helps you in that.

  • Browser Drivers – Receivers and Executioners:

Each browser has different browser driver. (That was also downloaded by you in the previous blog post)

Their work is to receive the commands and act on it. This gives the output in the form of HTTP response. (Duh!! That’s why you see the outputs in your browser)

Hope you learned the architecture in a simple way. 🙂



Selenium – Introduction

Hi there!! Welcome to my blog.

You stumbled across this blog because you were reaching out for solutions on Automation Testing.

Confused You : What’s this Selenium everyone’s talking about? Should you learn it?

Voices in your head : I don’t know what it is. But it sounds important so it must be difficult to learn.

Well I can help with it. (BTW don’t believe your mind voices. That’s BS)

Don’t worry my blog doesn’t have long tiring technical words. I work on the ‘KISS’ principle – Keep It Short and Simple. (Don’t get any wild thoughts there)

Let’s start with questions:

What is Selenium?

It’s an open source Automation Testing Tool only for Web based Applications (Any application you use it on the internet rather than which is inbuilt in your desktop/laptop). There comes another question.

What’s Automation?

It’s the most laziest but effective (Yes. Just like you) tool available for FREEEEEEEEEEEE!!!!!!!.

Basically automation works like this:

You work for the initial phases preparing scripts and in the latter phases it’s just going to do its job automatically without any intervention.

Why Selenium?

There are variety of automation software available. HP owns this tool called QTP for automation testing purposes. But it’s paid version.

You have an app in Playstore, that’s free and better version in paid section which does the same work. Which one would you choose?

If you say Paid. Ya! Go Ahead. You’re gonna regret your money on it Richie Rich.

But, Companies are cheapskates. They wanna earn with free products available. That’s the major reason every companies are getting hands on these babies. Oh and there are couple of other reasons too.

  1. It supports multiple languages (Java, C#, Python, Ruby, Pearl & HTML) – Basically all the cool evergreen languages.
  2. Cross Browser Platform feature – Firefox, Chrome, Safari, Internet Explorer (Is this explorer still used?? Unfortunately Yes)
  3. Cross Platform Feature – (Windows, Mac, Linux, Solaris) – You name it, she’s got it
  4. You can test both web based and mobile based applications using Selenium

Which Lazy Person invented Selenium?

Jason Huggins, a ThoughtWorks employee at Chicago was bored of his work because he was doing the same thing over and over again. He wanted to solve this midlife crisis. Necessity is the mother of invention. Thus he gave birth to Selenium.

How to install and get this baby working?

Let’s get started with the fun part. (Note: Please check your system information before downloading these products)

If you’ve a doubt in identifying, please take a look into this:

For Selenium + Java you need:

  1. JDK (Java Development Kit):

You need this to run your IDE.

Get it from here:

  1. An IDE (Integrated Development Environment) – Eclipse

Get it from here:

  1. Selenium Standalone Sever

Get it from here:

Selenium HQ

  1. Firebug and Firepath: – Use your Firefox browser for this.

If you don’t have it. Get it from here:

Get the Firebug:

Get the Firepath:

Install them and let’s get started. (Please check whether it’s of your system’s compatibility)

Just stay and learn, we can work together.