|
As a general principle test interactions should not interact directly with the GUI. The interaction should use a facility provided by the wrapper. This is because there are likely to be very few if any operations on the GUI that are only used once and so direct interaction creates redundancy.
The features that a wrapper should provide will vary from system to system but general classes of features that may be applicable include operations to:
- Set individual fields.
- Invoke individual commands.
- Read the status / values of individual elements.
- Read useful high level collections of information from the interface.
- Navigate to particular points in the GUI structure.
- Detect the presence of specific conditions on the display.
- Snapshot the status of the GUI.
- Identify changes between GUI snapshots.
The diagram illustrates this.

|