Extend automated functional testing support for your application's
user interface controls.
Introduction to proxy SDK
With Rational® Functional Tester proxy software
development kit (SDK) you can extend automated functional testing
support for your application's user interface controls (GUI test objects),
beyond what is provided by Functional Tester by
default. The proxy SDK provides detailed documentation, API references
and ready-to-use samples and tutorials on how to extend Functional Tester to add support for testing
new controls. It also helps you to extend already supported controls
from the existing domains. You can develop proxies manually or by
using the proxy wizards driven approach.
Functional Tester architecture Rational Functional Tester can be extended
to perform additional functions for which it needs to communicate with the
application under test (AUT). To do that Functional Tester first
establishes a communication channel to the AUT which is called enablement.
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.
TestObjects
TestObjects are the script-side interfaces for proxies
and application under test (AUT) controls. A TestObject is a connection
point between the test script and a ProxyObject that connects to the
real object in the AUT. During recording, statements are recorded
and objects are added to the Object Map. The script uses the information
from the Object Map to construct and find TestObjects.
ProxyObject hierarchy
While developing new proxies by extending existing proxies for
any domain, it is important to understand the existing proxies and the hierarchies,
so that you extend the right proxy.
TestObject class diagram and canonical names Functional Tester has a predefined
set of TestObjects that are hierarchically grouped and each TestObject has
a set of predefined methods.
SubItems
SubItems are part of TestObjects. The ObjectMap does not contain
the SubItems, because they are not mapped.
TestData types
The Functional Tester framework
calls the getTestDataTypes() and getTestData(String) proxy
methods for extracting data from controls for verification and reference.
These methods are used during the creation and play back of data verification
points. You can override the getTestDataTypes() method to
add more specific data types for a control.
Proxy exceptions Functional Tester has a set of
predefined exceptions that covers wide ranges of errors that are usually expected
while functional testing. These exceptions are available for both the Java and
.NET proxy development frameworks.
Proxy development best practices
Following best practices while you develop proxies can
help make your work more efficient and effective. Consider these methods
to enhance your development efforts.