Introduction of Selenium

What is Selenium?
Selenium is an open and free source tool used for automation testing framework that tests web applications using different web browsers. In Selenium we are wrting Test Scripts by the help of programming languages like Java, c#, Python etc.

  • List of Selenium’s tools
    • Selenium Integrated Development Environment (IDE)
    • Selenium Remote Control (RC)
    • WebDriver
    • Database via JDBC
    • Selenium Grid

Further, WebDriver and Selenium RC are combined in single framework and form Selenium 2.

Selenium Developed by:-

Actually Selenium is a set of tools, by defferent developers as well. The notable contributions of key person to the Selenium Project.
Primarily, Selenium was introduced by Jason Huggins in 2004. An engineer at ThoughtWorks, he was working on a web application that required frequent testing. Having realized that the repetitious Manual Testing of their application was becoming more and more inefficient, he created a JavaScript program that would automatically control the browser’s actions. He named this program as the “JavaScriptTestRunner.”
Seeing potential in this idea to help automate other web applications, he made JavaScriptRunner open-source which was later re-named as Selenium Core.

Same Source Policy Issue

Same Origin policy restricts JavaScript code from accessing elements from a domain that is different from where it was launched. Example, the HTML code in www.google.com uses a JavaScript program “randomScript.js”. The same origin policy will only allow randomScript. js to access pages within google.com such as google.com/mail, google.com/login, or google.com/signup. However, it cannot access pages from different sites such as yahoo.com/search because they belong to different domains.
This is the reason why prior to Selenium RC, testers needed to install local copies of both Selenium Core (a JavaScript program) and the web server containing the web application being tested so they would belong to the same domain.

Origin of Selenium Remote Control(RC)

All Testers using Selenium Core had to install the whole application under test and the web server on their own local computers because of the restrictions imposed by the same origin policy. So another ThoughtWork’s engineer, Paul Hammant, decided to create a server that will act as an HTTP proxy to “trick” the browser into believing that Selenium Core and the web application being tested come from the same domain. This system became known as the Selenium Remote Control or Selenium 1.

Born of Selenium Grid

Patrick Lightbody create Selenium Grid for minimizing test execution times as much as possible.Patrick Lightbody initially called the system “Hosted QA”. It was able to capture browser screenshots during significant stages, and also of sending out Selenium commands to different machines simultaneously.

Born of Selenium IDE

Selenium IDE created by Shinya Kasatani from Japan, to further increase the speed of creating test cases, Firefox extension came that can automate the browser through a record-and-playback feature. Shinya Kasatani donated Selenium IDE to the Selenium Project in 2006.

Born of WebDriver

Simon Stewart invented WebDriver in 2006 when browsers and web applications were becoming more capable and more prohibitive with JavaScript programs like Selenium Core. WebDriver was the first cross-platform testing framework that will control the browser from Operating System level.

Born of Selenium 2

In 2008, the Selenium team decided to combine WebDriver and Selenium RC to form a powerful tool as Selenium 2, with core WebDriver.

The Reason of Name Selenium?

Jason cracked a joke one time to his team,The name Selenium came from that joke. That time Another automated testing framework was popular at the time Selenium’s development, and that was by the company called Mercury Interactive and Selenium is a well-known antidote for Mercury poisoning, that’s why Selenium suggested by Jason. His team mates had also liked to suggested name Selenium.

Brief Introduction about Selenium IDE

Selenium suite Selenium Integrated Development Environment (IDE) is the easiest framework and it is a Firefox plugin that we install as easily same as other plugins.
Selenium IDE only be used as a prototype tool. If we want to create advanced test cases, need to use either Selenium RC or WebDriver.

Small Introduction about Selenium Remote Control(RC)

Selenium RC was the useful testing framework of whole Selenium project. Selenium RC was the first automated web testing tool that grant users to use a programming language as own choice.
RC support the following programming languages:-

  • Selenium Remote Control(RC)
  • Java
  • Ruby
  • Python
  • PHP
  • Perl
  • C#