Application under test interactions
There are several levels of requests in the test process. In each level there are various interactions between HCL DevOps Test UI (Test 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.
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
Playback interactions
The Test 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. |
Test 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. Test 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, Test UI finds the
corresponding TestObject using the information stored in the Object Map and the user action is
performed based on it.