Understanding How to Implement Testing Extensibility
Using UFT One Testing Extensibility, you can implement full support for all UFT One features for your environment.
Implementing UFT One Testing Extensibility consists of the following stages:
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.
Developing the Testing Agent
Create a COM object that implements the interfaces defined by Testing Extensibility in the UFT Extensibility Agent type library. UFT One calls the interface methods to retrieve information about the application being tested. For more information, see UFT One 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 UFT One capabilities: identifying objects and running tests. After verifying that the Testing Agent successfully communicates with UFT One, you develop support for the more advanced UFT One 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 UFT One 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
Deploying the Testing Agent
Install the Testing Agent in any convenient location on the computer on which UFT One is installed. After you install the Testing Agent, register it. The UFT One Testing Extensibility SDK provides a C function that enables you to register (and unregister) the Testing Agent.
When UFT One opens, it checks for registered Testing Agents and displays their environments in the Add-in Manager. The UFT One user can select an environment, instructing UFT One 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 UFT One Help Center.
UFT One 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 UFT One Capability | Level of Importance |
---|---|---|
| Mandatory | |
Smart Identification | Optional (Mandatory if you implement ITestable3) | |
ITestable3 | Running tests and adding test-object related lines to the UFT One run results | Optional |
Object Spy | Recommended | |
Accessing native properties and operations | Optional | |
Record | Recommended | |
Active Screen and Highlight | Optional Required if implementing IActiveScreenSupplier or IRectangleSupplier | |
Highlight | Optional | |
Active Screen | Optional | |
Test Event Notification | Optional | |
Test Event Notification (enables writing to the UFT One 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 UFT One in the UFT Extensibility Agent type library. The interfaces that UFT One exposes for the Testing Agent to use for recording are: IRecorder, IRecordSuppressor.