Application under test interactions
There are several levels of requests in the test process. In each level there are various interactions between HCL OneTest™ UI and the application under test (AUT).
The following list describes the levels of requests:
- High level requests cause a series of interactions with one or more proxies. Find and ObjectAtPoint are examples of high level requests.
- Direct proxy references can occur for direct access to a proxy. Click and GetTestData are examples of direct proxy references.
- Domain requests which are similar to high level requests, provide access to the hierarchy of base proxies and perform other high level actions.
![SUT Interaction](../images/sut_interaction.gif)
Recording interactions
The following interactions happen between the Object Manager and Object Manager agents for recording- Object Manager and Object Manager agents
- Locate the Object at point. For example, the
proxyAtPoint
method. - Get recognition properties and initial references in the map. For example,
the
getMappedTestObject
method.
- Locate the Object at point. For example, the
- The following proxy methods are called for recording:
Table 1. Proxy methods for recording Action Method Process low level events processMouseEvent
Locate target of a drag action getMethodSpecForPoint
Verification Point support getTestDataTypes
getTestData
getProperties
getStandardProperties
getProperty
Hierarchy methods getMappableParent
getParent
getChildren
getMappableChildren
getOwner
getOwned
Recognition support getRecognitionProperties
shouldBeMapped
getRole
getTestObjectClassName
getRecognitionPropertyWeight
![Recording interactions](../images/recording_interactions.jpg)
Playback interactions
The HCL OneTest™ UI 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.
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. |
![Playback interactions](../images/playback_interactions.jpg)
HCL OneTest™ UI 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. HCL OneTest™ UI 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, HCL OneTest™
UI finds the
corresponding TestObject using the information stored in the Object Map and the user action is
performed based on it.