Thursday, July 2, 2009

Firefox Add-On Test Tools: Molybdenum

Today's Firefox add-on test tool is a departure from the previous tools I've reviewed. The add-ons reviewed thus far have either been web page debuggers, link validators, screen utilities or accessibility checkers. Today we'll look at a capture-replay tool, and it's not the Selenium IDE add-on (although it is based on the selenium-core). It's called Molybdenum and it has a lot of interesting features.

The main thing that attracted me to Molybdenum was the stated differences between it and Selenium IDE:
"While SeleniumIDE is focusing on developers with export to different programming languages and crossbrowser testing, Molybdenum is focused on simple test execution, reporting, test parameterization for everybody participating in your team."

Don't get me wrong, I like Selenium IDE and the powerful extensions associated with it. But it's good to have alternatives. And one thing that Molybdenum markets well is their concept of a "brick", or re-usable module. A brick consists of a sequence of commands which is intended to be reused in different tests and testsuites. And bricks are stored in a repository independent from the testsuite and can be parameterized. What was most interesting about how they position "bricks" is the mention of keyword-driven testing (KDT). That alone would be enough to convince me to develop some parametized modules using KDT naming conventions in order to make automated testing easier for non-technical testers.

Here's what my first Molybdenum script looked like in the IDE:


You can see that it's a simple test, but with the added screenshot commands. That's a pretty nifty feature of Molybdenum and would be very useful for times when you want to know what the automated test script really saw in the browser, especially when they are run unattended.

Finally, there's reporting and Molybdenum is not lacking on reporting niceties. You get a clean HTML report that provides you not only with pass/fail for each test step, but also timing values. Again, that can come in handy when you suspect performance issues. Or you could even write scripts, that loop, specifically to find performance bottlenecks. Here's an example report from the script above:

If you're interested in finding out more about Molybdenum, you can download the Firefox add-on here, and visit the developer's website here.

0 comments. Add Comment.: