See More
Commercial Alternatives:

Open Source Alternatives:

See also:
Page Originally Created by: AnaP
[Write Review]

10/10 AnaP says:
Many pros for Selenium
I've first used Selenium when trying to choose an automated testing tool for a (...)
[see all]
Be the first to create a list of standard features for "Testing".

Selenium


[edit] Brief Description

Selenium is a tool that tests web applications directly from a browser (Internet Explorer, Mozilla and Firefox on Windows, Linux, and Macintosh). It has an integrated development environment for Selenium tests called Selenium IDE implemented as a Firefox extension.

[edit] Wiki description

Contents
  1. Description
    1. Supported operating systems and browsers
  2. Available versions
    1. Selenium IDE
      1. Features
      2. Screenshots
    2. Selenium Core
      1. Screenshots
    3. Selenium Remote Control
  3. Main competitor and how to choose
  4. Communities
  5. See Also

Description

Selenium is a testing tool for web applications that runs directly into a browser. It is useful to test:

  • browser compatibilities (the same script can work on any Selenium platform);
  • system functionality (by creating regression tests to verify the user acceptance).

The application is built on a JavaScript platform and uses Iframes to automate a test into a browser.

All of the versions available are available without any charge, being open-source.

Supported operating systems and browsers

It can be used on a big variety of operating systems and browsers:

Available versions

Selenium IDE

Selenium IDE is implemented as an extension for Firefox and it's probably the simplest way to start testing an application. It starts recording the test by pressing a button and each action you make on the website it's remembered as a step. After that you can run it, save it and used as many times as you need.

Features

  • Record and playback the tests
  • Field selection will use IDs, names, or XPath
  • Autocomplete for all common Selenium commands
  • Navigate through tests
  • Debug and set breakpoints
  • Save the tests as HTML, Ruby scripts, or any supported other format

Screenshots

Selenium Core

Selenium Core can be used to run the testing application on any supported browser. It is written in JavaScript/DHTML, and you can use it by copying the tests directly into the application webserver, allowing the tests to run in any supported browser on the client-side.

Selenium Core it's released under the Apache 2.0 license.

Screenshots

The execution buttons of the control panel are (you can see in the image in the right the buttons):
  • Run All Test: for running every test in the test suite.
  • Run Selected Test: you first have to click on one test in the test suite, then click here to run just that specific test.
  • Pause and Continue: while a test is running, you can press the 'Pause' button to temporarily stop running commands. After you press Pause, you can press Continue to resume the test.
  • Step: You can click on a test in the test suite and then click on just one line of the test to set a breakpoint. When it gets to a breakpoint, it will automatically pause execution on that line.
       

Selenium Remote Control

Selenium Remote Control is a test tool that allows to write automated web application User Interface tests in any programming language. It can be used to test any HTTP website on any mainstream JavaScript-enabled browser.

Selenium RC application provides a Selenium Server that is able to start/stop/control any supported browser by communicating directly with the browser using AJAX (XmlHttpRequest).

The commands can be sent easily using simple HTTP GET / POST requests. That means that you can use any programming language that can make HTTP requests to automate Selenium tests on the browser. Also, it provides wrapper objects for a number of mainstream programming languages, such as:

  • Java
  • .NET
  • Perl
  • Python, and
  • Ruby

Selenium RC is released under the Apache 2.0 license.

Main competitor and how to choose

The main competitor of Selenium is Canoo Webtest.

For running test in Canoo Webtest you have to write the tests in a simple syntax with steps. Because it just simulates a browser the Javascript support is not as good as for Selenium and it doesn't saccept badly formed HTML, but it's much faster. One big advantage of Webtest over Selenium is the reports that are better detailed and allow the user to understand easily the failure causes.

Same as for Selenium, Canoo Webtest is cross-platform and can run on any operating system that supports Java.

Other advantages of Webtest over Selenium are:

  • the better integration into the development process
  • more scalabile
  • better capture of JS errors
  • a bit more documentated
  • more predictable behaviour
  • better XPath support
  • extensible
  • supports data-driven tests
  • it has internationalization support
  • it supports Non-HTML content

But, the advantages of Selenium over Canoo Webtest are very important for any testing project, event if there are just a few:

  • much better browser fidelity
  • it's more beginner friendly
  • it supports badly formatted HTML code
  • multi-language support

Communities

See Also

Resources:  Vendor/Foundation |  Licenses |  Linux Distributions |  Programming Languages |  Programming Interfaces (API) |  Graphical Interfaces (GUI) |  Available Languages