Recent site activity

Selenium

Selenium is an open source software tool that aids in the functional testing of web interfaces. It has the ability to open multiple browsers and drive the action automatically as someone watches and it records test results. Selenium is most helpful when it is required to test an entire web application front to back because it tests the javascript on the web page and indirectly tests the entire application back to the database. 

In our experience it has increased the velocity of Agile teams when used appropriately. In one case an entire suite of tests produced a mirror image of the user interface requirements. When a decision was made to switch user interface frameworks but keep all existing functionality, Selenium tests provided the acid test. If a feature was missing the tests would fail and work would be done to build the feature back in. Many of these were complicated drag and drop events and table sort features.  

There are two main parts of Selenium you are most likely to use called Selenium IDE and Selenium Remote Control. IDE enables the recording and playback of tests in Firefox from a client machine. Selenium Remote Control enables taking the tests generated in IDE and running them on all major browsers. Combined with a continuous integration suite of tools like Cruise Control and Ant or Hudson with Maven or Ruby on Rails or Twist it enables test to run on a schedule and generation of test reports.

It should not be used as a substitute for unit testing or integration testing. The cost of producing a Selenium Test is much higher than a unit test or an integration test. For integration testing we recommend Fitnesse.

We will help keep you up to date with trends, tutorials and tips for Selenium here

Watch for an upcoming two day class in June that will cover Selenium IDE and Selenium Remote Control.


Subpages (1): Selenium RC 1.01 Setup