Selenium Tutorials: Introduction

Selenium

With the advancement in technology now no one likes to do anything manually. All wants the work should be completed automatically and they can sit and relax!
Same concept applies in testing also. Doing testing manually is time consuming and tiresome. So testers are now looking towards automation testing.
But one thing should be kept in mind that automation testing is not possible in every scenario.
So the questions comes when to do automation testing
1)    When you need to do regression testing i.e. same activities needs to be performed many times and on multiple browsers
2)    When you need to do high level testing i.e. like real user
3)    When you need to do test various combinations and which is not possible with manual testing every time
4)    Automation tests are about exact requirement.
How to automate this process?? Here comes in the picture, SELENIUM.
Selenium is a tool or we can say it as framework which is used to automate the testing of web applications. It is an API which programmatically controls the web browsers. Primarily it was designed to automate the web applications but now with the advancement, it can be used to automate the web based administrations tasks also.
The main advantage of this tool is that is open source, i.e freely available; any one can download it and start using it at any moment of time.
Now lets us look at the Journey of Selenium. I.e. how it was developed and what all aspects came into consideration.

Selenium Journey

Selenium-Evolution


With the advancements, various tools came under Selenium. Let’s look how and why these tool needs to me modified or re-developed.

First  tool came in was Selenium Core

This component was developed by Jason Huggins in 2004. He created a program called as JavaScriptTestRunner to automate his web applications. But later he realized that it can be used to automate the other web applications also. So he made it as open source and renamed it as Selenium Core.
But there was one disadvantage of this tool. This Java script code can be used by the applications of same domains i.e. where it is launched. It was not capable enough to access the applications of other domains. So to use this testers are required to install the JavaScript and web server  whose web applications where to be tested in his local machine so that they come under same domain.

Second  tool came in was Selenium Remote Control ( Selenium RC)

To overcome the disadvantage of Selenium Core, Paul Hammant an engineer at ThoughtWorks decided to trick the browser by creating an server which will act as HTTP proxy. By this browser will believe that the java script(Selenium core) and web applications under test came are in same domain. This is also known as Selenium 1.

Third  tool came in was Selenium Grid   

This was developed by Patrick Lightbody. Beauty of automation lies in the completion of task in less amount of time. So he designed this tool with insight to minimize the execution time as much as possible. It was also capable of communicating with other machines simultaneously and capturing of the browser screenshots in various phases of testing.

Fourth  tool came in was Selenium WebDriver

With continuous  growth in browsers and web applications and usage of Selenium Core for testing made Simon Stewart in 2006 to think over a tool which can be controlled from OS level. He thought of a cross platform testing frame work.
In 2008 they decided to merge the Selenium RC with Selenium WebDriver to make a tool known as Selenium 2.

Fifth  tool came in was Selenium IDE

This tool was developed by Shinya Kasatani in 2006. It was designed as the extension of Firefox. It was made capable with record and play back feature.

Difference between Selenium IDE and Selenium WebDriver

Now we have decided to use Selenium for automation of web applications. But the questions comes which tool is to be used when. Let us see the scenarios in which Selenium IDE and Selenium WebDriver can be used.

Difference-between-Selenium-IDE-and-Selenium-WebDriver

Why to choose Selenium as Automation tool

Why to Use Selenium

Labels: ,