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.
SUT Interaction

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.
  • 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

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.

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.
Playback interactions

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.