As a software tester looking at different automated testing solutions, I need a tool that will interact with a heavily graphical interface such as a flash website or application.

I want the tool to interact in the way a user would - the flash application I am testing is a children's game. Users look for cues onscreen that indicate that you can interact with elements in-game, and so I would like to test from this perspective as opposed to using knowledge of the game's implementation.

Other than the cost of image-recapture, what other benefits and draw-backs can you see in this?

Will Eggplant fulfill this role? What tips and hints can you give on getting the best out of it?

Are there any better tools for this purpose? (Objectively - I will need a list of pros and cons)

  • Could we please get an eggplant tag, and possibly one for sensetalk? Nov 28, 2011 at 14:21
  • It's really important to clarify that automated GUI testing does NOT necessarily involve image capture/recognition. Can you clarify why you think you need that functionality? Nov 28, 2011 at 21:12

4 Answers 4


It should be noted there is a FOSS alternative to Eggplant: Sikuli. We have teams that use both in our organization. I would not claim Sikuli is as powerful or up to the level of Eggplant, but if your needs are relatively simple it is worth a look. Also it is simply a Java library, so it can be integrated with other tools quite easily. We use Jython primarly.

  • You say it is not as powerful - what are the pros and cons? For me jython would be a huge pro over sensetalk, as I am a python journeyman, and our stack is mainly JVM on the backend. Dec 1, 2011 at 10:57
  • The image matching tools are not quite as sophisticated, and OCR does not work as well. There is no capture/playback (some would not regard this as a loss. Frankly if you are a python guy and aren't into sensetalk, spend a few hours with it.
    – DMW
    Dec 2, 2011 at 22:30
  • Not as sophisticated as in they are more sensitive to change, or not as sophisticated as in there are less features for working with them? Dec 5, 2011 at 10:09
  • I actually use sikuli currently, via some networked bindings I've developed for robotframework (server, client) Jun 7, 2013 at 11:48

Eggplant's image capture and recognition is very good - the best I have ever come across. There are also some handy tricks you can use where you point it to a folder full of images and it will tell you if, where, and which it found one of them.

Hints and tips:

  1. While the image-recognition algorithm has some tolerance for images that do not exactly match the source image, this tolerance is low. Capture as small an image as is possible while keeping it unique to the on-screen element you need to look for or click on. For animations or large images that are often partially obscured, creating a set of images that match various parts of the larger image, or various frames of the animation will often server you well, and it is always possible to discover which image was the one found.

  2. For fast-moving sequences where you need to find a key-frame it can be difficult to capture what you are looking for - disconnect the vnc session and then click 'Show Window' on the connection list - you will have a freeze-frame of the screen at the moment you disconnected, from which you can capture a selection of images at your leisure.

  3. It can sometimes be desirable to capture images that are chosen dynamically. The CaptureScreen command will take the full screen and place it in the test results, however you can specify a name and location for this image, as well as only capturing a small area on-screen. This can make it easier to refer back to these images later.

  4. For dynamic applications is can be difficult to predict the exact location of an image you wish to capture on the fly - Sensetalk has good vector addition and subtraction which you can use to give relative positions to captured images on-screen.


We had used Eggplant for comparasion of Flash Player created images (in Macromedia) on both Mac and Windows. It was an excellent tool for such image comparasions and worked very well for pixel-by-pixel and overall picture/image comparasion tool also.

I would overall agree with @BiggAl 's summary and also recommend the use for Web Based images and dynamically rendered images also. (we were using the dynamic rendering/checking utility for Eggplant with Flash Player generated images and static images which were created using a photo editing tool.)


Yes You can use eggplant while working with Flash animation. I would say, no other tool can replace it while working with dynamic images and animations.

The only care you are supposed to take is, to follow the best practices while capturing your images to recognize your image back.

Eggplant is very robust an flexible to use. And it is not true to say, it only works for Mac system. I am using it on windows and I have never used it on Mac.

I have noticed a serious dis-like among many of them due to non availability of code help and corresponding response among different groups due to the unfortunate policy with the development company "TestPlant". They seriously need to change this policy before the repulsion in industry kills the EggPlant and need to make the discussions public.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.