Package Name | Comment |
abbot |
Provides testing support for Java GUIs. See
here for documentation on
getting started.
Package Specification
Related Documentation
For overviews, tutorials, examples, guides, and tool documentation,
please see:
|
abbot.editor |
Provides support for editing Abbot test scripts.
|
abbot.editor.actions | |
abbot.editor.editors | |
abbot.editor.recorder |
Provide recording support for component-specific user actions. Recorders
capture a raw event stream and turn it into a
{@link abbot.tester.ComponentTester} action method. This
group of classes is designed to recognize and capture a distinct semantic
event from basic OS events as they are generated by the system or the user.
For example, the {@link abbot.editor.recorder.AbstractButtonRecorder}
waits for button press, release, and click events in any class derived from
{@link javax.swing.AbstractButton} in the tested GUI, saving them as a "Click"
action (which is provided by the base
{@link abbot.tester.AbstractButtonTester} class).
Each unique class of GUI component can have its own recorder class derived
from {@link abbot.editor.recorder.ComponentRecorder}.
This class provides a framework for parsing basic input events into a
conception action on a given component class. For example,
{@link abbot.editor.recorder.JComboBoxRecorder}
converts a user's combo selection into a script step encapsulating the
{@link abbot.tester.JComboBoxTester#actionSelectIndex(Component,int index)}
method to perform a combo box selection.
Recorders are used within the script editor by
{@link abbot.editor.recorder.EventRecorder}, but the that class is designed
for use by any framework that wishes to capture and parse events.
|
abbot.editor.widgets | |
abbot.finder |
Provides component search and lookup facilities.
@since 0.12.0
|
abbot.finder.matchers |
Provides various types of Matcher implementations for use in component
searches.
@since 0.12.0
|
abbot.i18n |
Provides internationalization support for Abbot and Costello. All
locale-based string translations should be stored in properties files or
classes in this package.
|
abbot.script |
Provides basic elements for constructing a test script. A
{@link abbot.script.Step} is the basic unit of execution. Steps may be
grouped into a {@link abbot.script.Sequence}. See the documentation for
{@link abbot.script.Step} for information on extending script features.
Following are some of the basic elements of a {@link abbot.script.Script}:
- Invoking Code
Usually you will have a single Launch step at the beginning of your script
to load and activate your GUI under test. See the Launch class for details.
- Component Reference
This entry is not an actual script step, but a representation of an actual
component within the GUI. The ComponentReference ID may be used in argument
lists where a java.awt.Component would normally be expected. See the
{@link abbot.script.ComponentReference} class for details.
- Action
This type of step invokes a semantic user action on the GUI, such as a mouse
clickk, menu selection, or drag/drop action. Different actions are
supported by different GUI components. All actions supported may be found
in the APIs for the
{@link abbot.tester.ComponentTester} and its
subclasses.
See the {@link abbot.script.Action} class for details.
- Assert
This type of step tests for a condition in the GUI, such as whether a
Component property matches a particular value, or it might invoke a custom
test exported by a ComponentTester class. See the Assert class for details.
- Wait
This type of step simply waits for an Assert to become true, with an
adjustable timeout and sleep cycle. See
{@link abbot.script.Assert#setWait(boolean)} for details.
|
abbot.script.parsers |
Provide explicit conversions from String to another class, for use by the
interpreter when evaluating stringified values in scripts. See the {@link
abbot.script.parsers.Parser} interface for details.
|
abbot.tester |
Provide component-specific actions and tests. Each unique class of GUI component can have its own Tester class derived from
{@link abbot.tester.ComponentTester}.
This class provides any number of action methods which can exercise the
various user semantic actions that the GUI component supports. For example,
{@link abbot.tester.AbstractButtonTester}
provides the
{@link abbot.tester.AbstractButtonTester#actionClick(java.awt.Component)}
method to perform a button click. The Tester may also provide bean-like
is/get methods to facilitate access to component properties that might not
otherwise be readily available as a property. For example,
{@link abbot.tester.JPopupMenuTester}
has a
{@link abbot.tester.JPopupMenuTester#getMenuLabels(java.awt.Component)}
method which returns the text of the menu items within it as an array of
{@link java.lang.String}.
Keymaps
Provides maps between keystrokes and resulting typed characters, so that for
any given key character, the keystroke required to produce it may be looked
up. The maps are properties files where the keys are a combination of
keycodes and modifiers. In the case of multiple keystrokes mapping to the
same character, a modifier suffix of zero will take precedence over others,
but otherwise you might get any valid keystroke which produces the
character.
Each property key comprises a keycode represented by the suffix of
{@link java.awt.event.KeyEvent}.VK_ constant, a period, and an integer
modifier mask (0/shift, 1/control, 2/meta, or 8/alt). The value is either the
hex value of the resulting character, or one of {illegal, system, untyped}.
"Illegal" means an IllegalArgumentException is thrown if the value is used,
"system" means that the key caused the key mapping application to lose
keyboard focus, and "untyped" means that no keychar input was produced.
The name/value pairs in the keymap files are sorted to facilitate diffs. If
keymaps differ for the same locale/OS, then non-producing values should take
precedence over defined values, provided there exists at least one keystroke
in the file for producing the given value. Only values defined across
all keymaps for a given locale/OS should be used to avoid using any
invalid keystrokes.
There is a keymap generator which generates these maps for the current locale
and OS.
@see abbot.tester.MapGenerator
|
abbot.tester.extensions |
Extensions to {@link abbot.tester.ComponentTester} to provide support for
custom components.
@see ComponentTester Customization
|
abbot.util | |
example |
Miscellaneous examples demonstrating Abbot usage.
Package Specification
Related Documentation
For tool documentation, please see:
|
junit.extensions.abbot |
Provide support for running scripts and UI-oriented unit tests as test cases
under JUnit.
Package Specification
Related Documentation
For overviews, tutorials, examples, guides, and tool documentation,
please see:
|
test.dynamic | |