Why Web object ID are changed when upgraded to TestComplete 14.73
SOLVED- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Why Web object ID are changed when upgraded to TestComplete 14.73
My Automation suite is failing as after upgrading TC to 14.73 , When I spy the objects on Web page (Angular) it shows different ids.
Is there any way to restore object identification same as version 14.70
Solved! Go to Solution.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
TC doesn't change the value of data that it introspect.
In Angular ids are often auto generated root based name so are you sure that is TC the problem ?
Un sourire et ça repart
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Agree, TestComplete doesn't change IDs.
I mean when I spy any web object with Testcomplete14.73 is shows different full path
(Web Application Build and browser version is same)
Object Spy with Version 14.70
Sys["Browser"]("chrome")["Page"]("https://xxxxx.com/#/RtuDashboard")["Panel"](0)["Panel"](0)["Panel"](3)["Panel"]("logical_view_wrappe...)
Object Spy with Version 14.73
Sys["Browser"]("chrome")["Page"]("https://xxxxx.com/#/RtuDashboard")["Panel"](0)["Panel"](Configuration)["Panel"](3)["Panel"]("logical...)
Also unable to spy inside few windows which I was able to with 14.70 version (chrome extension is enabled)
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
It looks like the identification is different only on the specific level of the hierarchy (see highlighted in bold):
Sys["Browser"]("chrome")["Page"]("https://xxxxx.com/#/RtuDashboard")["Panel"](0)["Panel"](0) ["Panel"](3)["Panel"]("logical_view_wrappe...)
Sys["Browser"]("chrome")["Page"]("https://xxxxx.com/#/RtuDashboard")["Panel"](0)["Panel"](Configuration)["Panel"](3)["Panel"]("logical...)
So, probably, this is still the same object, but TestComplete 14.73 started using its name for the object addressing. So, if you are using Name Mapping, you can simply modify the object properties that are used for mapping. After this, all your tests will work again. This is an advantage of Name Mapping, you can change the identification in one place only one time. Or, you can use the Conditional Mapping Criteria to make tests work in both TC versions.
It is hard to say anything else without a web page. If you want to continue the investigation, feel free to create a support case.
Yuriy Peshekhonov
Customer Care Engineer
