Designing the Communication Between the Testing Agent and the Application
In the QuickID project, several classes were developed, each representing an object in the QuickID application. The QuickID Testing Agent communicates with objects of these classes instead of communicating directly with the application.
This style of implementation is one way of implementing UFT One Testing Extensibility; it is not mandatory.
The following classes were developed in the QuickID project, to represent the objects in the QuickID application:
The CTeaSampleObject class (in the TeaSampleObject.h and TeaSampleObject.cpp files) is the base class for all of the object-representing classes.
The CTeaSampleApplication class (in the TeaSampleApplication.h and TeaSampleApplication.cpp) represents the application itself.
The CTeaSampleNameEdit class (in the TeaSampleNameEdit.h and TeaSampleNameEdit.cpp files) represents the text box for entering the user's name.
The CTeaSampleCitySelector class (in the TeaSampleCitySelector.h and TeaSampleCitySelector.cpp files) represents the drop-down menu for selecting the city.
A single object (referred to in this guide as a global object) was created for each of the classes described above. (See the Common.h file: g_pTEASampleApplication, g_pTEASampleNameEdit, g_pTEASampleCitySelector.) Both the application and the Testing Agent can access these objects. Each global object stores all of the information that UFT One might require about the object it represents (for example: type, name, or state).
Most of the Testing Agent methods were implemented to simply delegate a request to one of these global objects.