New Chrome window page object not recognizing.
When our application opens a new screen in a new browser window, TestComplete is not able to capture the new page object, keeps returning the old page object.
The existing page has the same URL except with a capital P in '/Presentation/', rest is the same. This used to work before but now it does not seem to work anymore. TestComplete v12.31, Chrome version - latest 60.0.8
By default, TestComplete uses case insensitive parameters. So, I actually wondered that your code worked previously... Maybe something was changed in Chrome 60 itself.
You may try to set parameters to be case sensitive (Playback section of the Properties page of the project editor), but this might have side-effects in other parts of your code base.
Better approach is to find additional attributes that make these two pages to be different and use them. For example, if your project uses NameMapping, you may require some child element to be present on the page to distinguish between them.
/Alex [Community Champion]
[Community Champions] are not employed by SmartBear Software but
are just volunteers who have some experience with the tools by SmartBear Software
and a desire to help others. Posts made by [Community Champions]
may differ from the official policies of SmartBear Software and should be treated
as the own private opinion of their authors and under no circumstances as an
official answer from SmartBear Software.
The [Community Champion] signature is assigned on quarterly basis and is used with permission by SmartBear Software.
Thank you for the reply Alex, your reply turned on a few light bulbs in my head.
Some background: We don't use name mapping, all the objects are searched dynamically. We find the page object, then the screen object (down a few hierarchies in the application's DOM structure) then object.find(); to locate the actual object.
About using additional parameters, how to use additional parameters when finding the page object, I could not find any example of that, oh we can use Sys.Browser(Chrome).find(); instead of Sys.Browser(Chrome).page().. But then I couldn't find any properties differing between the two pages except the URL, I'll dig more to find something or perhaps a child object.
I'll get back once I have tried these (plus the case sensitive property, on top of my head it should not affect the project, but you never know its a 250KLOC project!).