Monthly Archives: October 2012

Geb and Sikuli – Adding image recognition to help your functional tests see

One of the drawbacks with testing with Webdriver is that it offers very little in terms of validating things visually. Webdriver also has very limited interaction with alerts, the desktop and embedded components such as Flash, Java or Browser plugins.

When you have a QA person, they will be able to immediately check that an image is too big, or that the responsive design is broken a certain screen size. The vocabulary of XPaths and DOM elements is sometimes too limited to capture what a human sees.

Webdriver can simulate the user interacting with the browser with a mouse and keyboard, but not what this user is able to perceive.

In this post, I would describe my experiment marrying the Sikuli image recognition framework with the geb testing framework. It will describe how we can use some of the features in Sikuli to expand our functional tests and even overcome some limitations within the very powerful webdriver / geb combination.

Continue reading

Managing multiple versions of grails with gvm

Please note – This post is out of date, please refer to the latest information on gvm on the website: http://www.gvmtool.net

Last week, I got a chance to try out the early release version of Marco Vermullen’s Groovy enVironment Manager ( GVM ).

Gvm is a cool little tool in the vein of rvm in the rails world. The ultimate goal is to allow you to download, install and switch between different versions of different gr8 technologies ( groovy, griffon, grails, etc ). You can see Marco’s rationale for the tool here.

While there are several profile hacks and scripts out there ( such as this one, by Jeff Brown ), gvm makes this process fairly easy and seamless. Hopefully, making the vocabulary of version switching universal will also help in creating version switching GUI tools like JewelryBox for the groovy/grails world.

The beta version of gvm only currently supports grails, but the other technologies are going to be added very soon.

In this post, I will walk you through the basics of installing gvm and using it to manage different versions of Grails. Continue reading