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.
Rational® Functional Tester 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 Rational® Functional Tester 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 Rational® Functional Tester supports.
The following TestDomainImplementation
classes are available
with Rational® Functional Tester.
JavaTestDomainImplementation
HTMLTestDomainImplementation
NETTestDomainImplementation
WinTestDomainImplementation
SiebelTestDomainImplementation
SAPTestDomainImplementation
A TestDomain
contains a set of controls that is provided
by the respective UI framework. Rational® Functional Tester 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 Rational® Functional Tester defines.
Each proxy method has a specific meaning and Rational® Functional Tester 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.
Rational® Functional Tester 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.