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.