Application under test interactions

There are several levels of requests in the test process. In each level there are various interactions between Functional Tester and the application under test (AUT).

The following list describes the levels of requests:

Recording interactions

The following interactions happen between the Object Manager and Object Manager agents for recording

Playback interactions

The Functional Tester client sends requests to all test domains if they can find the target object in its recorded object map hierarchy by using the recorded recognition properties.

Table 2. Playback interactions

Result Action
No target object is found A TestObject not found exception is thrown.
Several target objects are found The object finding score is used to determine the winner, or it can be ambiguous.
A unique TestObject is found The playback action method is invoked on the proxy. For example, the playback action which was recorded, may be the click() method.
More than one TestObject was found within the ambiguity threshold An ambiguous exception is thrown.

Functional Tester uses recognition properties and control hierarchy to identify a control and provides an interface. This information is collected and stored in the Object Map. During playback the stored information is used to uniquely identify the UI element. Functional Tester also collects information on screen coordinates, control properties and data, reflection details, and portions of the controls when required. It presents the UI element with the gathered information as a TestObject to the script side.

At the time of recording user actions such as mouse clicks, double-clicks or drags are recorded as respective TestObject methods into a test script. For example, button().click(atPoint(10,10)). During playback, Functional Tester finds the corresponding TestObject using the information stored in the Object Map and the user action is performed based on it.

Related concepts

Process Model

High level interactions

Proxy model