Justin du Coeur (jducoeur) wrote,
Justin du Coeur
jducoeur

Selenium

It occurs to me that, having come across another Massively Wonderful Open Source Tool, I ought to talk it up a little.

My current project at work is implementing an automated GUI test harness using Selenium. If you're doing any sort of serious Web development, you owe it to yourself to check this thing out.

Selenium is a fairly complex toolset, but it's all aimed at browser-level testing. There's Selenium Core, a complex Javascript library that lets you manipulate the browser to a fine level of detail; Selenium IDE, which lets you do macro-style testing; and Selenium Remote Control (which is what we're actually using), which lets you control the browser remotely from a separate harness. The end result is that I'm able to write a detailed test suite in NUnit (the .NET equivalent of JUnit), full of fine-grained browser testing: telling the browser to open windows, check what's on the page, click the buttons, and so on just as I want.

It has all the usual virtues and vices of open source. The documentation is a tad crappy, and there are some rough edges. OTOH, it's free, not terribly hard to integrate and use, and impressively powerful. It runs with both Firefox and IE, and the Remote Control system has integration modules for many major development platforms (Java, .NET, Perl, PHP, Python, Ruby, etc).

In a bit over a week of work, I should be able to set up enough harness and examples to hand the thing off to QE and have them continue to automate the GUI-level testing from there. Combine that with the API and Unit test suites we already have, and I'm starting to think we may actually be able to pull off a reasonably agile development style. This tool looks to be exactly what we needed at this point; take a look at it...
Tags: programming
Subscribe
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 6 comments