Wednesday, February 13, 2008

Selenium IDE Flow Control - Goto and While Loops


This extension provides goto, gotoIf and while loop functionality in Selenium IDE. Selenium IDE is a plugin for Firefox that automates the testing of web-based applications. There is an excellent flow-control extension at for the Selenium RC and TestRunner components, but it does not work with Selenium IDE (the Firefox plugin) directly. This makes it difficult to develop controlled test cases within Selenium IDE, and there are times when the frame-based TestRunner cannot be used (such as when the website under test employs a frame-buster script).

I've ported the existing control-flow extension to work in the Selenium IDE Firefox add-on. The image below shows a sample test case using goto, gotoIf and a while loop, all running successfully in Selenium IDE.

The file can be downloaded from Github and should be saved as "sideflow.js" to your hard drive. Then the Options settings in Selenium IDE should set the Selenium Core extensions to include the path of this file, similar to the image below.

I've published the extension on github.  Go ahead and download it from there.

Update 26 February, 2008:
This mod of the FlowControl extension works only with the Selenium IDE Firefox add-on. If you want to use the TestRunner component or Selenium RC, please use the original FlowControl extension.

Update 19 February 2011

I've moved the extension over to github

Update 7 July 2011
I've updated the example to use the newer syntax required in the latest versions of Selenium IDE.

Please note that if you are using Selenium RC, you should use the original flow-control plugin here:

Unfortunately I haven't had the time or the need to make this compatible with both Selenium RC and Selenium IDE.  Please feel free to fork the code on github and make a pull request if you would like to help out.

Update 24 July 2012
I added a "push" command to the plugin, with a simple example on the Github page. This allows you to easily create a collection of items and implement "for each"-style functionality to iterate over it. Here's the original announcement

Monday, February 11, 2008

Vis Duh

I haven't gone away, but my computer did, for a while. It was a bad stick of RAM. In the process of getting it back, I formatted my drive. Then I had to fork over cold hard cash for a new copy of Windoze XP. I got it only because the software I use for composing and recording music, Sonar, requires it.

I refuse to use Vista. Bill Gates was recently interviewed on Gizmodo and basically admitted that Vista was a failure. Voted one of the 10 Worst Tech Products of 2007 at Yahoo Tech, then as one of the worst tech products in history over at CNet UK. MicroSoft now has a class action lawsuit against them for their bungled "Vista Capable" PC sticker program where even a MicroSoft executive claimed he'd been burnt... suckered into buying "a $2100 email machine" that won't run any of Vista much-touted features.

If you want eye candy, you have a lot better options. You could get a Mac. Or, you can use one of many free Windows shell replacements, like LiteStep. Or if you find shell replacement a little daunting, there are several options for user-friendly Linux-based operating systems. Ubuntu is a really popular choice, and the new gOS looks really good, too. See

In fact, complete prepackaged eGos PCs are available for $199 at Walmart or possibly your local computer store.

Stunning 3D visual effects have been part of Beryl (now called Compiz Fusion) for a long time already. They don't even require fancy hardware and will run on systems several years old with minimal RAM.

I plan on never buying another operating system again. For a long time people have been waiting for Linux to mature to the point where it was nearly as user friendly as the commercial operating systems. Now MicroSoft has handed the open source community a huge advantage by releasing a product that is so much worse than the competition.

Productivity and Note-taking

I told a friend of mine that I wasn't really happy with the amount of time that gets taken up by Slack and "communication and sched...