web development
Oct 18, 2008
Windmill for Browser testing
A promising Chandler originated Selenium competitor
While cleaning up on the remoteinclude sprinting we did last week at the post-conference sprint, I came across Windmill. Windmill looks like a really promising candidate for anyone wishing to do some non-trivial browser based testing of their web applications:
Windmill implements cross browser testing, in-browser recording and playback, and functionality for fast accurate debugging and test environment integration.
I'd be curious to know if any members of the Plone/Zope community have had any experiences with it. Also, if you've simply become curious and would like to try it out for yourself (and then report back) but are intimidated (or simply put off) by the lengthy installation instruction, here's a one-stop buildout including the particular python that windmill needs, that will get you going:
[buildout]
python = python
parts =
python
pythonbin
windmill
[windmill]
recipe=zc.recipe.egg
eggs =
simplejson==1.9.1
windmill
[python]
recipe = zc.recipe.cmmi
url = http://www.python.org/ftp/python/2.5.2/Python-2.5.2.tgz
executable = ${buildout:directory}/parts/python/bin/python2.5
extra_options=
--enable-unicode=ucs4
--with-threads
--with-readline
MACOSX_DEPLOYMENT_TARGET=10.5 # uncomment this, if your're not on MAC OS X
[pythonbin]
recipe = plone.recipe.command
command = ln -s ${python:executable} ${buildout:bin-directory}/python
Update: Martijn Peters points out, that you can use newer versions of simplejson, you just need to stick to the 1.9 branch for the time being:
"because I assume it's the 2.0.0 API change that makes them use 1.9.x on their instruction pages. It works just fine with 1.9.3 anyway, haven't tried 2.0.3 at all."
I've updated the buildout above accordingly. Also, if you already have a working python2.5 on your system (unlike yours truly who hosed his Mac OS X 10.5 python2.5 ages ago) you can reduce the buildout to this snippet:
[buildout]
parts =
windmill
[windmill]
recipe=zc.recipe.egg
eggs =
simplejson <=2.0.0dev
windmill
