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.
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
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.