Selenium, a Portable Software-testing Framework for Web Applications

Selenium is a set of different tools that enable automation of web browsers based on many platforms. All Selenium projects have Apache 2.0 License. Selenium works browsers such as Firefox, Opera, Chrome, Internet Explorer, and Safari. It's also compatible with such operating systems as Linux, Microsoft Windows, and Apple OS X.


Selenium can be controlled by multiple programming languages that are supported by Selenium "drivers." They are C#, JavaScript, Java, Perl, Objective-C, Python, PHP, Ruby, and R. There are libraries made for every language that show commands from the Selenium API in the form of certain methods or functions. Selenium can also be extended through the use of a number of plugins created and maintained by third parties.


Selenium consists of multiple software tools and each has a specific role: Selenium-Grid, Selenium IDE, Selenium 1 (Selenium RC) which is not supported now, and Selenium 2 or Selenium WebDriver. It's the latest addition to the Selenium toolkit and is considered to be the future of the project. This new automation tool has many advanced features, including an object-oriented API and improvements to the limitations of the previous implementation.


Selenium WebDriver performs the same functions as Selenium RC did and it includes the original 1.x bindings. It involves the individual browser controlling code and the language bindings. Selenium WebDriver was designed to address several limitations in the previous Selenium-RC API and to provide a simpler, more concise API. It provides improved support to dynamic web pages in which some page elements may change when the whole page is not being reloaded. Besides, Selenium WebDriver supplies an object-oriented API that is well-designed and ensures better support for problems connected with testing of new advanced web apps.


Selenium WebDriver has a suite of tools with a rich set of testing functions specifically designed to the needs of testing of all types of web applications. Its key feature is the support for performing tests on multiple browser platforms.

You might be interested in WCF Web Services.

Related Projects