0% found this document useful (0 votes)
13 views3 pages

Shinya Kasatani and Selenium IDE Overview

Selenium is an open-source automated testing suite for web applications, consisting of four components: Selenium IDE, Selenium Remote Control (RC), WebDriver, and Selenium Grid. It was developed by various contributors, starting with Jason Huggins in 2004, who created the initial JavaScript program for browser automation. Selenium 2 was formed by merging Selenium RC and WebDriver, offering advantages over HP Quick Test Pro in cost and flexibility.

Uploaded by

Shashank Naik
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
13 views3 pages

Shinya Kasatani and Selenium IDE Overview

Selenium is an open-source automated testing suite for web applications, consisting of four components: Selenium IDE, Selenium Remote Control (RC), WebDriver, and Selenium Grid. It was developed by various contributors, starting with Jason Huggins in 2004, who created the initial JavaScript program for browser automation. Selenium 2 was formed by merging Selenium RC and WebDriver, offering advantages over HP Quick Test Pro in cost and flexibility.

Uploaded by

Shashank Naik
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Notes For Selenium

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 software's, each catering to different testing needs of an
organization. It has four components.

1. Selenium Integrated Development Environment (IDE)


2. Selenium Remote Control (RC)
3. WebDriver
4. Selenium Grid

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

Introduction to Selenium

Primarily, Selenium was created 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.

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 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
Selenium1.
Birth of Selenium Grid

Selenium Grid was developed by Patrick 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 WebDriver

Simon Stewart created WebDriver 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 WebDriver and Selenium RC to form a more
powerful tool called Selenium 2, with WebDriver being the core. Currently, Selenium RC is still being
developed but only in maintenance mode. Most of the Selenium Project's efforts are now focused on
Selenium 2.

So, Why the Name Selenium?

It came from a joke which Jason cracked one time to his team. Another automated testing framework
was popular during Selenium's 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.

Summary

[Link] entire Selenium Tool Suite is comprised of four components:

1.1 Selenium IDE, a Firefox add-on that you can only use in creating relatively simple test cases
and test suites.

1.2 Selenium Remote Control, also known as Selenium 1, which is the first Selenium tool that
allowed users to use programming languages in creating complex tests.

1.3 WebDriver, the newer breakthrough that allows your test scripts to communicate directly
to the browser, thereby controlling it from the OS level.
1.4 Selenium Gridis also a tool that is used with Selenium RC to execute parallel tests across
different browsers and operating systems.

Selenium RC and WebDriver was merged to form Selenium 2.

Selenium is more advantageous than QTP in terms of costs and flexibility. It also allows you to run
tests in parallel, unlike in QTP where you are only allowed to run tests sequentially.

Common questions

Powered by AI

Selenium offers several advantages over QTP, primarily in cost and flexibility. Being an open-source tool, Selenium is cost-effective. It also supports multiple programming languages and can execute parallel tests across different browsers and operating systems, unlike QTP which allows only sequential test execution. These features make Selenium a more dynamic tool for modern web application testing .

The challenge faced by Jason Huggins was the inefficiency of repetitious manual testing for a web application he was working on as an engineer at ThoughtWorks. He addressed this by creating a JavaScript program named "JavaScriptTestRunner" to automatically control browser actions, which eventually became open-source and was renamed Selenium Core .

WebDriver was significant because it allowed direct control of browsers at the OS level, which was increasingly necessary as browsers and applications grew more powerful and restrictive against JavaScript. This capability provided a more robust and flexible approach to browser automation compared to Selenium Core. The merging of WebDriver with Selenium RC formed Selenium 2, which retained the WebDriver as its core for better compatibility and efficiency across different platforms .

The development of Selenium mirrors broader software trends such as the shift towards open-source tools, the recognition of automation for efficiency, and the need for cross-platform compatibility. Selenium's evolution with tools like WebDriver and Grid reflects the importance placed on flexibility, scalability, and cost-effectiveness. Its transition from JavaScript to OS-level interactions highlights a response to increasing software complexity and browser restrictions, aligning with modern approaches in software testing that prioritize automation and parallel execution .

The name "Selenium" was derived from a joke by Jason Huggins, which referred to Selenium as a known antidote for mercury poisoning. This was a playful jab towards Mercury Interactive, the company that developed a competing testing framework. The metaphor suggests that Selenium is a remedy to the inefficiencies and constraints posed by other testing tools .

Selenium RC overcame the limitations of the same origin policy by introducing an HTTP proxy server to "trick" the browser into thinking that Selenium Core and the web application under test originated from the same domain. This solution, devised by Paul Hammant, allowed testers to avoid installing the whole application under test on their local machines .

As browsers became more powerful and applied stricter JavaScript restrictions, controlling them solely by JavaScript-based tools like Selenium Core became challenging. WebDriver addressed these challenges by enabling direct control of the browser from the operating system level, bypassing JavaScript limitations and thus adapting to the more restrictive browser environments .

The Selenium suite components complement each other by addressing different testing needs. Selenium IDE provides a quick way to create simple test cases without deep programming knowledge. Selenium RC facilitates programming language support for more complex tests, while WebDriver allows for advanced browser control from the OS level. Selenium Grid enhances testing efficiency through parallel execution. Collectively, these tools provide a versatile and comprehensive solution for automated web application testing .

Selenium Grid plays a critical role in optimizing test execution by allowing tests to run in parallel across different machines, browsers, and operating systems simultaneously. This capability greatly reduces test execution times, increasing the overall efficiency of the testing process compared to conducting tests sequentially .

Jason Huggins initiated the creation of Selenium by developing the JavaScriptTestRunner. Paul Hammant developed Selenium RC to address browser compatibility issues via an HTTP proxy. Patrick Lightbody created Selenium Grid to parallelize test execution, thereby minimizing test times. Shinya Kasatani developed Selenium IDE for simpler test case creation with its record-and-playback attribute. Simon Stewart crafted WebDriver for more direct browser control at the OS level. These contributions extended Selenium's functional capabilities across testing environments and enhanced its versatility .

You might also like