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.
Objects and controls are not recognized
Problem
- 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 Flex
applications. For example, actions on controls in Flex domains that are configured
incorrectly are recognized as
follows:
oleObjectactiveXControl2().click(atPoint(102,10));
Resolution
- Create a custom proxy for those controls or submit an enhancement request to get your application supported by Rational® Functional Tester.
- Correctly configure the domain by completing the instructions in Flex applications testing process.
The click action on UI controls do not work
Problem
When you run a functional test by using the Web UI engine, the test steps that contained the 'click' action might fail as the UI control is not correctly recognized. This problem might occur because of the changes in the settings of the async flag in the ivory.properties file.
Resolution
- Open the ivory.properties file located at <Product installation directory>\IBM\SDP\FunctionalTester\bin .
- Set
functional.tester.html.playback.async=false
. - Restart Rational® Functional Tester.
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
- 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:
- From the test object map menu, right-click the test object map, and click Convert To Dynamic Test Object ().
- 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.
- Select the object to convert, and click Finish.
- 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.