As a cross platform, cross application automated testing system EggPlant looks too good to be true. Has anyone implemented a large automated testing project using it and what were your experiences?
A year or two ago, my employer's existing automated testing system was nearing the end of its licence period, and I was tasked with evaluating EggPlant as a possible replacement. I spent about a month recording tests, writing test scripts, and generally trying to pick at EggPlant's flaws.
For the most part, EggPlant could do whatever we needed it to. As others have said, it was image-recognition based, so tests tended to break when the AUT's interface changed, but because it allowed image masking and fuzzy image recognition and (more importantly) could read text if given the font, it was possible to write tests that had non-zero tolerence to change, and which could be updated with relatively little effort when compared to some other image recognition-based automated testing systems out there.
That said, Eggplant did have two significant flaws when I was evaluating it. The first is that it was a very mac-based piece of software. That's not a problem on its own, of course, but it was the Windows version of the tool that I was examining, and most of its features and interface were designed for a Macintosh operating system. I'm not just talking about on the machine running the AUT, either: The EggPlant user interface, itself, used Mac UI conventions, which are markedly different to those of Windows. It tended to be a little confusing.
EggPlant's second significant flaw was that it was full of crippling bugs. To be fair, when we mentioned these bugs to TestPlant support they were fixed quite rapidly, but the sheer frequency with which showstopper bugs were appearing made it impossible to use the tool without being constantly distracted.
(I should stress that these two flaws may well have been fixed by now. The Windows port of EggPlant was brand new when I was looking at it, and many of the bugs and quirks of the system were probably teething problems.)
In the end, we ended up not using EggPlant, but that was because of the mostly windows-specific flaws I've described above. I imagine that if I'd been running the tool on a Mac, I'd have had a much more positive impression of its capabilities.
I've never used it, however...
The major drawback to this tool is that it is driven using image recognition, this in my opinion is a major drawback. I can guarantee that your application will change and that you will need to go back and recapture most of your images to get your test suite to run again. This might be acceptable when you have 300 tests, but imagine you have 10000+ tests, you suite will take weeks to fix, and before long the effort to keep up with the changing UI will not be worth it.
A better approach would be to pick a tool that best fits the need of the application you are trying to test and not apply a one solution fits all applications.
Any AGT system based on image-comparison is inherently brittle. If your AUT is browser-delivered, I highly recommend you adopt Selenium and/or Watir. It's got the best community support, cross-browser compatibility, and is implemented in most major languages.
With text recognition working fine ..i feel this tools seems to be more powerful compared to image recognition tools. This tool is not suitable for drastically changing platforms but if UI or menus are freezed then for mid to long term projects eggplant should satisy most of the requirements of an automation tool
I am presently using EggPlant to my automation project in big scale. I am really loving it. Yes, I do agree that some times it fail to recognize the objects when there is a change in pixel densities. But the such a thing happens when there is totally a big update in the environment. My belief is, any other automation tool should also update its environment.
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.
I have now been using this tool for a month and so can give the following feedback:
All in all I would say that for image-heavy application Eggplant is a great tool - just make sure it is the right tool for what you want to use it for - I think you can get a free trial from their website.
Lots of reviews, samples, questions, and answers click here.
I have used this tool for around 2 years for standalone desktop applications.
--Sensetalk(the scripting language for eggplant) is very easy to understand and write huge scripts.
--Very faster way of creating automation scripts.
--Requires less/no knowledge of any programming language.
--I feel the image recognization sometimes won't work robustly(VB and C# applications). Or I can say it is the matter of reliability which is the lower side of it.
--Sometimes tool recognizes 8 as 3 and vice-versa. We have tried setting a few DPI and other text reading parameters but it didn't help us much.
--You need to learn a lot about how Senstalk(eggplants scripting language) functions and adopt your scripting techniques accordingly.
How to handle it:
More you have knowledge on the Senstalk more the robust scripts you write. This tool is good for applications where object recognization is difficult but has standard UI guidelines. If you have blurry images/or images that change rapidly then you need to create multiple collections in order to make your script work.
You can reduce script maintenance by planning a futuristic framework(ideas flow once you experience the problems specific to you tools) and common image collection management techniques. Ask your team to follow best practices and not to deviate them from these the defined standards.