Friday, May 27, 2016

Introduction to Selenium

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.