Understanding How to Implement Testing Extensibility

Using OpenText Functional Testing Extensibility, you can implement full support for all OpenText Functional Testing features for your environment.

Implementing OpenText Functional Testing Extensibility consists of the following stages:

  1. Planning the Testing Agent

    • Define the test object model. In this stage, you determine which objects and operations you want to support based on the controls and business processes supported in your environment. You can also define the terminology and object hierarchy that will be generated in the tests.

    • Decide how you want to develop and package the COM object that will serve as the Testing Agent.

  2. Developing the Testing Agent

    Create a COM object that implements the interfaces defined by Testing Extensibility in the UFT Extensibility Agent type library. OpenText Functional Testing calls the interface methods to retrieve information about the application being tested. For more information, see OpenText Functional Testing Extensibility Type Libraries and Interfaces.

    The Testing Extensibility interfaces are designed for staged implementation. You begin by implementing the interfaces that provide support for the most basic OpenText Functional Testing capabilities: identifying objects and running tests. After verifying that the Testing Agent successfully communicates with OpenText Functional Testing, you develop support for the more advanced OpenText Functional Testing capabilities, such as adding objects to the object repository and retrieving the run-time values of test object identification properties.

    After developing these mandatory capabilities, you can optionally develop support for additional OpenText Functional Testing options. You can enable:

    • Smart Identification

    • The Object Spy

    • Accessing native (run-time object) properties and methods

    • Active Screen captures

    • Recording tests

    • Highlighting objects in the application

  3. Deploying the Testing Agent

    Install the Testing Agent in any convenient location on the computer on which OpenText Functional Testing is installed. After you install the Testing Agent, register it. The OpenText Functional Testing Extensibility SDK provides a C function that enables you to register (and unregister) the Testing Agent.

    When OpenText Functional Testing opens, it checks for registered Testing Agents and displays their environments in the Add-in Manager. The OpenText Functional Testing user can select an environment, instructing OpenText Functional Testing to load support for that environment by creating the Testing Agent COM object. For more information on the Add-in Manager dialog box, see the OpenText Functional Testing Help Center .

OpenText Functional Testing Extensibility Type Libraries and Interfaces

The following table summarizes the mandatory and optional interfaces in the UFT Extensibility Agent type library. You implement these interfaces in your Testing Agent.

Interface

Supported OpenText Functional Testing Capability

Level of Importance

ITestable

  • Identifying objects

  • Running tests

  • Retrieving run-time values of test object identification properties

  • Learning objects (Also requires implementing ISpyable.)

  • Reporting errors

Mandatory

ITestable2

Smart Identification

Optional (Mandatory if you implement ITestable3)

ITestable3Running tests and adding test-object related lines to the OpenText Functional Testing run resultsOptional

ISpyable

Object Spy

Recommended

IRunTimeObjectSupplier

Accessing native properties and operations

Optional

IRecordable

Record

Recommended

IHWNDSupplier

Active Screen and Highlight

Optional

Required if implementing IActiveScreenSupplier or IRectangleSupplier

IRectangleSupplier

Highlight

Optional

IActiveScreenSupplier

Active Screen

Optional

ITestEvents

Test Event Notification

Optional

ITestEvents2

Test Event Notification (enables writing to the OpenText Functional Testing run results and performing code prior to the end of the run session)Optional

To support the recording functionality, the Testing Agent calls API methods provided by OpenText Functional Testing in the UFT Extensibility Agent type library. The interfaces that OpenText Functional Testing exposes for the Testing Agent to use for recording are: IRecorder, IRecordSuppressor.