Selenium Overview

Selenium is a test tool for web applications. Selenium tests run directly in a browser, just like real users do. It runs in Internet Explorer, Mozilla and Firefox on Windows, Linux, and Macintosh, Safari on the Mac.  We have plans to target Safari on the iPhone in some months. 

The quickest way to learn Selenium is via a Firefox plugin called Selenium IDE. It is quite compelling for developing tests in and quickly trying out Selenium before choosing Selenium for your project.

There are two modes of operation for Selenium - Core and Remote Control (RC).  Remote Control mode also has a related capability called Selenium Grid that allows you to throw hardware at tests to make it all faster.
News!
Selenium 1.0 beta-1 released (March 5, 2008)
Downloads..
Selenium Core
Selenium RC
Release Notes

Selenium IDE

This Firefox plugin allows you to record and playback tests in the browser.  Here is a screen shot of it in use (in the side-bar of Firefox):
ide
To install Selenium-IDE into firefox, go here

For more on Selenium IDE, see its website. Be sure to check it out if you do not know what Selenium is, as the learning curve is very small.

Selenium Remote Control

The Remote Control mode is more advanced. It is able to test a wider range of web-applications than Selenium-Core and is more scalable, but requires some technical knowledge to set up.  Below is a simplified architectural representation of it ..

rc
For more on Selenium-RC and downloads, see its website

Selenium Grid

This additional server piece allows the several Remote Control servers to accessed in parallel by one or more driving processes.  You may want to do this if you want to use scale to speed everything up, or because you need to test on Mac and/or Linux, as well as Windows from one driving test-suite.

grid
For more on Selenium Grid and downloads, see its website

Selenium Core

Core mode: The JavaScript core library and the tests in question are loaded into your webapp. It is a simpler form of Selenium, and suitable for non-developers, but it has some inherent limitations. Below is a simplified representation of the architecture.

coreYour tests scripts (written in HTML) and the Selenium Test Runner itself are uploaded to the same web server that hosts the application you are trying to test.  That suggests that you know how to deploy to that web server (or know someone who does).

You open a browser at a URL that will kick off the tests, and watch them run by.

Selenium Core works on muliple browsers - more than the three shown on the left.

For more on Selenium Core and downloads, see its website

Selenium was developed by team of developers and testers at ThoughtWorks. It is open-source software and can be downloaded and used without charge. It is currently under active development developers from multiple companies. See who made Selenium for more details.

ThoughtWorks is a leader in Agile development methods for enterprise software development. Selenium is designed specifically for the acceptance testing requirements of Agile teams. However, teams using more traditional development will also find it useful.