About Developing the UFT One Testing Agent

After you decide how to implement the Testing Agent and determine the object model that the Testing Agent will support as described in Planning Your UFT One Testing Agent, you can begin to implement UFT One Testing Extensibility. The first step is to implement the ITestable interface defined in the UFT Extensibility Agent type library. This interface provides support for the most basic UFT One capabilities.

The ITestable interface is the only interface in the Testing Extensibility SDK that is mandatory. By implementing this interface, you enable UFT One to recognize objects and run GUI tests on applications developed in your environment. In addition, you support the retrieving of run-time values of test object identification properties and the adding of test objects to the object repository.

After implementing the ITestable interface, you can implement the additional interfaces in the UFT One Testing Extensibility SDK. These support more advanced UFT One capabilities such as Record, Active Screen, Object Spy, Highlight, and more. For more information, see Enhancing Your UFT One Testing Agent.

The table below specifies the main UFT One capability for which each ITestable method is used:

UFT One Capability

API Method

Recognizing the testing environment

GetTestingEnvironment (handshake)

Object recognition

BuildDescription, FindObjectId, FindObjectId2, GetDisplayName, GetParent, GetChildren

Running tests


Retrieving object identification property values

GetElementType, GetProperties, GetTabularData, GetTabularAttributes

Providing meaningful error messages


Learning objects

LearnChildObjects, CompareObjectId


Develop your agent in stages, testing after you develop each stage:

  1. Develop the Testing Agent's handshake with UFT One.

    Implement only the initial handshake between the Testing Agent and UFT One. This enables UFT One to recognize the testing environment so that you can write UFT One GUI tests with objects and operations defined in your environment.

  2. Create support for recognizing objects and running tests.

    Implement the methods required for UFT One to recognize a few objects and run tests.

  3. Create support for retrieving identification property run-time values.

    Implement the methods required for UFT One to retrieve identification property run-time values from the application being tested.

  4. Create support for learning objects.

    Implement the methods required for UFT One to learn objects and add them to the object repository.

  5. Extend the support you created to include all of the objects in your environment.

    Complete the definition of your testing environment to include all of the objects in your environment. Implement support for all of the test objects and operations in your environment. Implement any remaining methods in the ITestable interface.

For more information, see Before You Begin.