Related projects


by Ovidiu Predescu, Jeff Turner

Related projects

There are a number of related open source Java projects in the realm of functional testing:


Latka is an Apache Jakarta project with the same aims as Anteater. It has an equivalent set of validators, good documentation, and much better HTTP/HTTPS support than Anteater due to its use of the HttpClient API.

In terms of implementation, Latka plays it very straight, implementing its own scripting engine with the SAX API. No distiction is made between parse time and execution time. The general Latka API is clean and well-designed.

Anteater's primary advantage over Latka is the flexibility engendered by building on top of the Ant engine. Latka scripts do not let one set properties (although properties can be passed in), or the ability to group tests (Ant targets). However, it looks likely that future version of Latka will be based on Jelly, an XML scripting language that is a functional superset of Ant, and would thus form an excellent base for a functional testing tool.


Canoo WebTest is another Ant-based functional testing system. It is primarily aimed at testing HTML sites, with a number of HTML-specific validators, and the ability to script interactions over multiple HTML pages. In contrast, Anteater is more more low-level, but contains better support for XML and web services testing. WebTest and Anteater are thus quite complementary, especially since both run in Ant.

PushToTest TestMaker

PushToTest TestMaker is a relatively mature product, having been in development for 5 years (see this general@jakarta email). TestMaker scripts are written in Python; more specifically, jython, which compiles Python scripts into Java bytecode. They have a custom Java API (TOOL) which is the core testing code, and is used in jython scripts.

The approach of using Python as a testing language sounds really good. Why mess around inventing XML scripting languages when you could use a real one? Python is one of the best, and by using the Jython compiler, one gets all the portability of Java too.

In practice, I'm not too sure how well it works. The TestMaker scripts look very low-level, and overly complicated for what they do. But then I haven't really explored much, so don't take this criticism too seriously.

TestMaker is a curious project in the sense that it seems primarily an integration effort, combining the NetBeans API, Jython and a testing API together to create an integrated testing system. The result is good, especially if you like IDEs.