Monday, August 4, 2008

Not Self Contained

I've been starting to work with Selenium Grid, and I'm still in that "doesn't quite work the way I want it to frustrating" stage.

I can live with lack of documentation. (Thanks, forums for helping alleviate that!)

I can live with obscure and misleading error messages. (Thanks again, forums!)

There are two things that really get my goat, though:
  • lots of prerequisites
  • too many browsers just don't work
Regarding prerequisites, here's what I have to do to get the tests running:
  1. start the rails server (script/server)
  2. start the Selenium hub (ant launch-hub)
  3. start the remote control machines (ant -Dport=5556 -Denvironment="Firefox on OS X" launch-remote_control)
  4. repeat step 3 for each machine
  5. run the test
I know I've gotten spoiled by just having test::unit do a lot of this for me, and I can certainly write a Capistrano recipe to do these, but it seems a bit ridiculous to have so much that the test framework can't do. At the least you'd think you could do something like register remote controls so the hub could try to autostart them on launch.

Regarding browsers, I mostly got unlucky. I happened to start working with a remote machine running Firefox 3 on Windows. Too bad that browser isn't actually supported yet. Also on the doesn't really work well list is Safari 3. 

It's not all bad news. The people working on the project are very helpful. I just don't think Selenium Grid is quite as mature as I'd like yet.

More updates as I get this working.


  1. Look in selenium-grid/Capfile - everything you need to get the hub and RCs going works via cap.

    Oh, and in selenium-grid/examples/ruby for appropriate specs to drive it.

    ant is just for the poor folk who have no ruby.

  2. I did write a later update talking about how I eventually got this working -

    I wound up not actually needing a capfile, personally.