Proxy development

A challenge in functional testing is the variety of user interface (UI) frameworks that are available (for example, Java and HTML) and controls (for example, button and table) that testing must support. UI frameworks differ in architecture and programming models and the controls differ in their inheritance hierarchy, methods, properties data, and user actions.

HCL OneTest UI needs to be programmed to add support for different UI frameworks and controls so that appropriate functional testing values can be provided to testers.

The HCL OneTest UI architecture handles the differences in UI frameworks through a respective TestDomainImplementation class for different UI frameworks. These TestDomainImplementation classes handle the specific properties of each UI frameworks that HCL OneTest UI supports. The following TestDomainImplementation classes are available with HCL OneTest UI.

  • JavaTestDomainImplementation
  • HTMLTestDomainImplementation
  • NETTestDomainImplementation
  • WinTestDomainImplementation
  • SiebelTestDomainImplementation
  • SAPTestDomainImplementation

A TestDomain contains a set of controls that is provided by the respective UI framework. HCL OneTest UI understands and handles the differences in controls through ProxyObject classes that are implemented for each control or a group of similar controls. A ProxyObject can be seen as wrapper object to the control and is implemented with the standard interfaces that HCL OneTest UI defines. Each proxy method has a specific meaning and HCL OneTest UI calls them at specific times. The ProxyObject returns the details specific to that control. ProxyObject classes handle specifics about each control or a group of similar controls in a supported TestDomain.

Proxy development overview

HCL OneTest UI offers set of hierarchically grouped ProxyObjects for each supported TestDomains like Java, .Net, Win32, Siebel, SAP, and HTML. A ProxyObject's inheritance hierarchy in each TestDomain is designed to be the same as the inheritance hierarchy of the control in that TestDomain. Grouping ProxyObjects hierarchically enables you to extend them to create new ProxyObjects when new a control is introduced in the UI framework. You can find the details about available sets of ProxyObjects and controls for each supported UI framework in the ProxyObject hierarchies.

Note: With the current HCL OneTest UI Proxy SDK implementation, you cannot add support for a new UI framework. You can add support for new controls or enhance currently supported controls.