Monthly Archives: November 2009

Selenium and The Dialog of Doom

This is a guest post from Douglas Squirrel, CTO at youDevise

At youDevise, we’ve been suffering from what Ivan Moore calls Flickering Builds for some time now – the build fails with a false negative once, then passes the next time we run it.

Our Cruise Missile monitor records these failures for us so we can track them, and it lets us mark them so we know not to waste time on further investigation, but it’s still massively annoying when your build isn’t reliable!

One of the worst sources of build flickers is Internet Explorer causing a Selenium test run to hang. When IE has an issue with JavaScript, it throws up a dialog box and then sullenly refuses to budge until it’s clicked. This is particularly bad because it hangs everything else up the food chain to Hudson, and nobody else can run an IE build until we bow to Bill Gates and click OK, dammit!

The root causes of the JavaScript error vary, but the behaviour of IE (when running under HTA mode in Selenium) is a problem that we need a countermeasure for. The Build Doctor made a house call recently and suggested one of these could be the cure for us:

  1. detect the dialog and, when you do, click it or else kill all browsers on the machine
  2. try proxy injection mode for IE under Selenium
  3. modify Selenium to fail the test and kill the browser when the dialog is detected
  4. wait for webdriver to merge with Selenium (it’s supposed to be more resilient in the face of evil dialogs)
  5. wait for IE to die

We’re trying to convince Julian to have a go at one of the first three (webdriver will surely ride to our rescue before the IE zombie falls over, but neither one seems likely before the next Star Trek movie). If we can get it working we’d like to make the solution open source, ideally part of Selenium. Surely others are suffering with the same problem and would benefit from an end to the Dialog of Doom. Stay tuned!

Image thanks to OiMax

Tagged ,

Story: Problem? What problem?

Andy has a consulting horror story …

We were doing a 2 day ‘architectural overview’ for a potential client – they were suffering performance issues as their production site started scaling, and they wanted a hand investigating it. Whilst digging around, my colleague noticed that one of their ASPs didn’t compile. He suggested a potential fix, and asked how they would test and promote the change. “Ah”, said client dev that he was working with – who promptly logged on to the production box, found the non-compiling production code, edited the file in place, and bounced the server …


Drunken Build Monkeys, and Agile Systems Administration

LRUG kindly let me do a talk on Systems Administration on Wednesday night. It had a working title of Drunken Build Monkey (my homage to Jackie Chan), but ended up with a far more serious title.

John Arundel opened the event (and let me steal his MacBook for my Keynote presentation). Thanks to the DevOpsDays crew for coming to the talk and joining in the conversation.  Here’s the video:


And here’s the slides:

Links for November 3

The Build Doctor is now running a new version of WordPress, Thesis and some other plugins, on a new  VPS.  I have plans to make the blog more useful now that it’s not running an ancient version of WordPress.  On the positive side of things I was very impressed that none of the vulnerabilities hit the blog.  Having your entire WordPress install owned by the root user helps, certainly.

Anyway, I’ll be pretty busy for the first part of November.  Until I manage to get some of my devopsdays notes up, here’s some links to keep you going: