This XML schema defines the structure of the Abbot test scripts.
The id attribute of the component elements has to be unique. It is used to reference a specific component in the rest of the script.
Root element of an Abbot test script. Every script must have exactly one AWTTestScript element.
Description of the test script. The description is used by the script editor (Costello) for the display.
Indicates that the script should be run in a separate process, also referred to as a forked VM.
Indicates the arguments pass to the forked VM.
Indicates that this script will be played back in slow mode. Slow means that every step performed by the robot will be delayed by 200 ms, or the value of the abbot.script.slow_delay property.
Indicates that this script will be played back in AWT mode. AWT mode places events directly in the Java event dispatch queue and bypasses native OS event handling entirely.
Launch variations.
All possible steps in a test script.
Component elemets references the GUI components in the application to be tested. Encapsulate as much information as is available to identify a GUI component. The component references have to be the first elements in a test script.
Unique identifier for the component. This identifier will be used as a reference to the component in step definitions.
Class name of the component. This has to be the fully qualified name of the class, e.g. java.awt.frame.
Name of the component. Must be identical to the name attribute of the component as specified in java.awt.Component.
Identificator of the parent window of this component.
Identificator of the parent component of this component.
Whether this component is a root window.
Index number of the component among parent's children.
Title of this component, usually as returned by getTitle().
Title of a border around this component.
Label of this component, usually as returned by getLabel().
Text of this component, usually as returned by getText().
Icon for this component. Might be an accessible description or a filename.
Deprecated. Specific identifying tag for this component.
For popup menus only, the identificator of the invoking component.
List of set parameters recognized by Applet.getParameterInfo (for Applets only). Parameters are saved in name1=value1;name2=value2;... format.
URL returned by Applet.getDocumentBase (for Applets only).
Horizontal (left-to-right) index among otherwise identical components.
Vertical (top-to-bottom) index among otherwise identical components.
Deprecated. For popup menus only, the x coordinate of the location of the invocation.
Deprecated. For popup menus only, the y coordinate of the location of the invocation.
Provides launching of the application under tested.
Fully qualified name of the class to be invoked by the script. The class has to be in the system classpath or the classpath has to be set explicitly in the launch tag.
Name of the method to be invoked in the class.
The args attribute is a comma-separated list of arguments to pass to the class method, and may use square brackets to denote an array, e.g. "[one,two,three]" will be interpreted as an array length 3 of String.
The class path attribute may use either colon or semicolon as a path separator, but should preferably use relative paths to avoid making the containing script platform- and location-dependent.
Deprecated.
The 'threaded' attribute is provided in case your code under test requires GUI event processing prior to returning from its invoked method. An example might be a main method which invokes dialog and waits for the response before continuing. In general, it's better to refactor the code if possible so that the main method turns over control to the event dispatch thread as soon as possible. Otherwise, if the application under test is background threaded by the Launch step, any runtime exceptions thrown from the launch code will cause errors in the launch step out of sequence with the other script steps. While this won't cause any problems for the Abbot framework, it can be very confusing for the user.
Description of the launch step.
Provides launching of an Applet under appletviewer.
Fully qualified name of the Applet class to be invoked by the script. The class should be found in the paths specified by either the codebase or archive attributes.
A comma-separated list of name=value pairs which will be passed to the applet via the applet tag.
Specifies the codebase attribute to be used with the applet tag.
Specifies the archive attribute to be used with the applet tag.
Specifies the width attribute to be used with the applet tag.
Specifies the height attribute to be used with the applet tag.
Terminates the application under test. This tag must be the last tag in a test script.
Description of the terminate step.
Sequence step.
A sequence groups a sequence of other steps. The sub-steps have a fixed order and are executed in the order contained in the sequence. Events sent by sub-steps are propagated by this one.
Description of the sequence step.
Action step.
An action reproduces a user semantic action (such as a mouse click, menu selection, or drag/drop action) on a particular component.
Method name of the actionXXX method, e.g. to click a button (actionClick on AbstractButtonTester).
Arguments passed to the called method. The id of the component being operated on must be the first argument. The args attribute is not required because there are a few cases (e.g. wait for idle) where a component reference is not necessary.
The class that is beeing tested. The class of that component must be identified by the class tag if the action is not provided by the base ComponentTester class.
Note that if the first argument is a Component, the class tag is required.
Note also that the specified class is the tested class, not the target class for the method invocation.
Description of the action.
Annotation step.
Provides a method for communicating a message on the display. May display for a reasonable delay or require user input to continue.
Identificator of the component to which the location of the annotation shall be relatively positioned.
Title of the annotation window.
Indicated if the annotation requires a user input.
Width of the annotation window in pixel.
Height of the annotation window in pixel.
X coordinate of the upper left corner of the annotation window relativ to the specified component.
Y coordinate of the upper left corner of the annotation window relativ to the specified component.
Description of the annotation.
Assert step.
An assert defines an assertion in the script. An assertion performes a method an compares the result with an expected result.
Method to be called for the assertion. You can invert the sense of either form of assertion by inserting a '!' character before the method name.
Arguments passed to the assertion method.
The class tag is required for assertions based on a class derived from ComponentTester; the class tag indicates the Component class, not the Tester class (the appropriate tester class will be derived automatically).
Identifier of the component.
Expected value for the assertion of a method that returns a value.
If set inverts the form of the assertion. Identical to method="!XXX".
Description of the assertion.
Boolean Java expression to evaluate.
Call step.
Performes a method call on an arbitrary class.
Method to be invoked.
Arguments passed to the method.
Target class of the method invocation.
If a property is indicated, the stringified result of the call will be stored in a property for later retrieval into any string as ${property}.
Description of the call step.
Event step.
Script step to generate a single AWT event to a component. Currently used for key down/up and mouse motion.
Identificator of the component.
Type of the event. Currently supported are "MouseEvent" and "KeyEvent".
Kind of the event. Something like "MOUSE_MOVED".
Modifiers.
X coordinate for a mouse event.
Y coordinate for a mouse event.
Count for mouse events.
Trigger for mouse events.
KeyCode for KeyEvents.
Character for key events.
Description of the event.
Expression step.
Provides evaluation of Java code..
Description of the expression.
Sample step.
The sample step stores the value found from the given method from the ComponentTester class.
Property to which the value should be stored.
Method to be invoked.
The class tag is required for methods based on a class derived from ComponentTester; the class tag indicates the Component class, not the Tester class (the appropriate tester class will be derived automatically).
Identificator of the component.
Arguments passed to the invoked method.
Description of the sample step.
Wait step.
A wait step is a special kind of an assert step. It waits for an event.
Method to be called for the assertion. You can invert the sense of either form of assertion by inserting a '!' character before the method name.
Arguments passed to the assertion method.
The class tag is required for assertions based on a class derived from ComponentTester; the class tag indicates the Component class, not the Tester class (the appropriate tester class will be derived automatically).
Identifier of the component.
Expected value for the assertion of a method that returns a value.
If set inverts the form of the assertion. Identical to method="!XXX".
Timeout period for the wait step in milliseconds. If not set 10 s is used.
Sleep time between checking the assertion. If not set 1/10 s is used.
Description of the wait step.
Script step.
Includes another Abbot test script into this script. Typically included scripts should omit launch and terminate steps.
Filename of the included script.
Comment.
Description of the nested script.