Problems with object recognition

If you encounter a problem with object recognition during testing, you might be able to resolve the problem by following these instructions.

These issues might occur during object recognition:

Objects and controls are not recognized

Problem

Some controls in an application are not recorded in the same way that other objects from the same domain are recorded. This is due to one of the following reasons:
  • The controls are custom controls that Rational® Functional Tester does not officially support. Therefore, the controls are recorded in a generic domain, as shown in this example::
    afxWnd90uwindow().click(atPoint(252,212));
  • The environment for the domain was not configured correctly, as in the case of Siebel or Flex applications. For example, actions on controls in Seibel or Flex domains that are configured incorrectly are recognized as follows:
    oleObjectactiveXControl2().click(atPoint(102,10));

Resolution

To resolve this problem, complete these steps:
  1. Create a custom proxy for those controls or submit an enhancement request to get your application supported by Rational® Functional Tester. For instructions to create custom proxies, see Rational Functional Tester proxy SDK.
  2. Correctly configure the domain by completing the instructions in Flex applications testing process.

Previously recorded scripts do not work

Problem

The test object map lists the test objects in the application-under-test, in a hierarchy. If the application-under-test changes, the object hierarchy might change. During playback, Rational® Functional Tester cannot find an object whose hierarchical position changed, and as a result, playback fails.

Resolution

  1. Use the dynamic find feature. When a search that is based on object recognition scoring (ScriptAssure) fails to find objects whose hierarchy has changed, the dynamic find feature searches for such objects. To convert an object to a dynamic object:
    1. From the test object map menu, right-click the test object map, and click Convert To Dynamic Test Object ().
    2. In the Convert To Dynamic Test Object window, select Select the parent to anchor in the object hierarchy. The new object becomes a descendant of its parent.
    3. Select the object to convert, and click Finish.
  2. Search for the object by using the find method instead of the Record-Playback method. When you use find(), Rational® Functional Tester searches for a matching object in the entire hierarchy. Therefore, a change in the hierarchy does not cause the playback failure.

Siebel controls are not recognized as Siebel objects

Problem

Siebel objects are not recognized. This issue might occur because Siebel drivers are not being properly loaded on the system, or because the Siebel services are not started on the workstation where Rational® Functional Tester is installed.

Resolution

  1. If you see the following message displayed when you log on to the Siebel server for the first time, the Siebel drivers are not installed on your workstation:
    Your version of the Siebel High Interactivity Framework for IE, required for use of this Siebel application, may not be current. In order to download a current version of the Siebel High Interactivity Framework, please ensure that your browser security settings are correct and then log in to the application again. Consult your system administrator for details about the Siebel High Interactivity Framework and correct browser settings.
    Specify your user ID and password for the Siebel application.
  2. Press the Ctrl key to log on to the Siebel server.
  3. Continue to press the Ctrl key. You are prompted to install the Siebel High Interactivity Framework. Proceed with its installation.

For information about the services that must be running, see "How to test Siebel 7.7 and 7.8 with RFT" at http://www.ibm.com/support/docview.wss?uid=swg21270972.