Abbot helps you test your Java UI. Abbot framework comprises Abbot, which lets you programmatically drive UI components, and Costello (built on Abbot) which allows you to easily launch, explore and control an application. The framework may be used with both scripts and compiled code.
This overview of the Abbot system will give you an idea of the different system components and how it is used. There is also some background concerning the issues involved with Java GUI testing.
You can see what Costello (the script editor) looks like or try it out via Java Web Start by using the links to the right. The screen shot shows a sample application, its UI hierarchy, and some component properties as displayed by Costello.
Here is what GUI unit test code looks like using Abbot (see Tutorial 1 or Tutorial 2 for more examples).
Refer to the API documentation for the ComponentTestFixture, ComponentTester and Robot classes, as well as the framework tests in the test source subdirectory.
You can also record user actions directly into a script which controls the event playback and testing.
This form of test is more suitable to integration/functional testing. The Costello script editor is provided which can record user actions and facilitate script construction and maintenance. It also provides insight into the hierarchy of the application under test.
You can launch the editor with the Web Start link above and immediately point it at any application you wish to launch and examine. The editor provides a hieararchy browser which displays all components in use by the application, as well as a wealth of information about any component selected in the hierarchy.
JUnit is used as the controlling harness for running tests and suites of tests, but scripts can easily be wrapped to run in other environments. Scripts may also be used to create a demo or tutorial for an application. You can drive the actual application and provide popup annotations while it is running.
Abbot is provided under the Common Public License (CPL).
What's New in This Release:
· Added missing costello.jar