Forum Discussion
5 Replies
- AlexKarasChampion Level 3
Hi,
You may consider 'Update Name Mapping during test run' option (https://support.smartbear.com/testcomplete/docs/reference/options/engines/name-mapping.html), but note that automatic namemapping is not recommended because it not always results in the optimal structure of Aliases and stable and reliable mapped objects recognition.
- SanderKOccasional Contributor
If you at least know some of the identifying properties of the objects you're going to interact with you could look for all of them during your test with the FindChild()-method.
- anitha_lakshmi1Contributor
Thanks for the inputs, but can I get anyway to map objects of application using this findchild or findchildren to one excel and use them.
Using the process name can I get all values of controls in one excel or xml format,
- SanderKOccasional Contributor
So basically you want to map your application? Why not just use the namemapping then? I imagine that if your application changes to such extent as you describe that you'd have to constantly modify your test scripts anyway. It's probably not that much of an additional effort to update your name mapping as well.
- tristaanogreEsteemed Contributor
There are any number of "tricks" in NameMapping to help account for dynamically changing applications. There's Extended Find which allows you to "compress" the hierarchal tree of objects so that you don't have to have ever ancestor object mapped to identify an object. You can wild-card property values to account for slight differences in name changes. You can use the Conditional Mapping to use if/and/or logic for properties to make them more accountable.
As mentioned, the objects need to be identified in order for TestComplete to find them. If they are changing THAT drastically every 15 days that even using FindChild is not useful (since property values may change that frequently), your best bet is to go to your development team and request that they begin a practice of adding some static identifier property to critical UI objects so that you can maintain a stable automation project.