Selenium is an open source for web application testing. Selenium is set of different software tools with each different approach to supporting test automation. A variant, Selenium Grid is a distributed systems for speeding up testing very large scale web application.
The main advantages of Selenium are:
- Open source
- Small learning curve
- Cross browsers and platforms
- Support many popular unit test frameworks and programming languages
- Distributed testing on its grid
Selenium has 3 tools suite for a specific quality assurance (QA) engineers:
Selenium IDE is a Firefox add-on that records clicks, typing, and other actions to make a test which you can play back in the browser. It is very useful for none programming background QA engineers. There is no code writing requires but needs to understand Selenese commands.
Selenium Remote Control (RC) is a bundle of unit test framework and proxy server to drive the test in various browsers and platforms. Selenium RC supports various type of programming languages as well as unit framework. For example, supportive languages are Java, C#, Ruby, Phyton, Perl, etc. and unit test frameworks are JUnit, TestNG, NUnit, etc.
Selenium Server 2.0 is the next version of Selenium RC that has special feature called WebDriver that allows programmer to interact with testing tool by employing object-oriented programming API. It has a driver for Firefox, IE, Chrome, Opera, native Html. There is no server requires for this method.
In large scale testing, Selenium RC is not efficient due to its slowness. Selenium Grid extends Selenium RC to distributed your tests across multiple servers, saving your time by running test in parallel. This is how distributed systems play a vital role in large scale web application testing.
Please stay tune, I will elaborately post on how to use it later.
For more detail, visit http://seleniumhq.org/