What is selenium?
Selenium is a Free (open source) automated testing suite for web applications across different browsers and platforms. It is quite similar to HP Quick Test Pro (QTP) only that Selenium focuses on automating web-based applications.
Selenium is not just a single tool but a suite of softwares, each catering to different testing needs of an organization. It has four Components.
- Selenium Integrated Development Environment (IDE)
- Selenium Remote Control (RC)
- Web Driver
- Selenium Grid
At the moment,selenium Rc and WebDriver are merged in to single frame work to form selenium2.
Who developed Selenium?
Since Selenium is a Collection of different tools, it had different developers as well. Below are the key persons who made notable contributions to the selenium project
Primarily, Selenium was created by Jason Huggins in 2004. An engineer at Thought works, 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 in efficient, he created a java script program that would automatically control the browsers actions. He named this program as the JavaScriptRunner
Seeing Potential in this idea to help automate other web application, he made JavaScriptRunner open-source which was later renamed as Selenium Core.
The Same Origin Policy Issue:
Same Origin Policy prohibits JavaScript code from accessing elements from a domain that is from where it was launched. Examples, 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 with in google.com such as google.com/mail ,google.com/login, or google.com/signup. However,it can not access pages from different sites such as yahoo.com/search or guru99.com because they belong to different domains.
Birth of selenium Remote Control (selenium RC):
Unfortunately 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 Thought Works engineer, Paul Hammant, decided to create a server that will act as an HTTP proxy to trick the browser in to 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 Selenium1.
Birth of Selenium Grid:
Selenium Grid was developed by Patric Lightbody to address the need of minimizing test execution times as much as possible. He initially called the system Hosted QA. It was capable of capturing browser screenshots during significant stages, and also of sending out selenium commands to different machines simultaneously.
Birth of Selenium IDE:
Shinya Kasatani of Japan created Selenium IDE, a Firefox extension that can automate the browser through a record-and-playback feature. He came up with this idea to further increase the speed in creating test cases. He donated Selenium IDE to the Selenium Project in 2006.
Birth of Web Driver:
Simon Stewart created Web Driver circa 2006 when browsers and web applications were becoming more powerful and more restrictive with JavaScript programs like Selenium Core. It was the first cross-platform testing framework that could control the browser from the OS level.
Birth of Selenium 2:
In 2008, the whole Selenium Team decided to merge Web Driver and Selenium RC to form a more powerful tool called Selenium 2, with Web Driver being the core. Currently, Selenium RC still being developed but only in maintenance mode. Most of the Selenium Projects efforts are now focused on Selenium2.
So, Why the Name Selenium?
It came from a joke which cracked one time to his team, Another automated testing framework was popular during seleniums development, and it was by the company called Mercury Interactive (yes , the company who originally made QTP before it was acquired by HP). Since Selenium is a well-known antidote for Mercury poisoning, Jason suggested that name. His teammates took it, and so that is how we got to call this framework up to the present.
0 Comment(s)