Selenium is an open
source Automation testing tool. Which is used to test web applications and it
is not support for windows based applications. Selenium is not a single tool,
which is consists of different set of tools, each tool is full filling the different
testing needs of an organization. QPT (Quick Test Professional) can used to
automate web application and windows application but it is Licensed Tool.
Selenium is strong and open source, so most of the companies choose Selenium
whenever they want to automate Web applications.It has the below
components,
Selenium IDE: It is an
integrated development environment for Selenium Script. It is a Firefox
extension, which is provides record and playback facility to regression test in
a web application. The interesting feature is users no need the programming
language skills to use it. Even though it is good for linear scripting it is
not good enough for effective test scripting because it doesn’t support for
looping concepts and cannot customize. But users can export recoded script in
many languages like C#, Java, Python, Ruby and users can used it in selenium RC
or Webdriver. Test Case is a single test script create in Selenium IDE and set
of Test Cases are called as Test Suite
Selenium RC: Selenium RC
address the limitation on Selenium IDE. It allows various programming languages
like (Java, PHP, Perl, Python, Ruby) to automate web applications. Simply
saying Selenium IDE is support for the linear execution but does not support
any logical statements and iterations. But in the real world scenario we needs
more then linear execution, for example we need conditional statements,
iterations, exception handling, test reporting, database testing, capturing
screen shots of failed tests, test case grouping and etc. for these kind of
needs Selenium RC is very useful. Selenium RC is helps us to handle complex
logic in test case.
Selenium Webdriver: The
Selenium Webdriver is better than Selenium IDE and Selenium RC in many aspects.
It’s support for many different browsers and different programming languages.
It makes direct calls to the browser using each browser's native support for
automation. Webdriver was developed to better support dynamic web pages like
Ajax.
Selenium Grid: Selenium
Grid supports to run multiple test across different browsers, operating system
and machine in parallel. Simply saying it allows to run large test suites on
multiple environments. Selenium Grid uses a hub-node concept where you only run
the test on a single machine called a hub, but the execution will be done by
different machines called nodes.This has following
advantages:
- By using selenium grid we can save the execution time of large slow running test suite – by parallel execution
- Can test against different browser, operating system in parallel
At the moment, Selenium
RC and WebDriver are merged into a single framework to form Selenium 2.
Selenium 1, by the way, refers to Selenium RC.