Forum Discussion

aalikhalid's avatar
aalikhalid
Contributor
7 years ago

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.

 

Sys.Browser("Chrome").Page("http://v303m5qa/m5web/presentation/outerframe/M5Shell.aspX");

 

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

2 Replies

  • AlexKaras's avatar
    AlexKaras
    Champion Level 3

    Hi,

     

    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.

    • aalikhalid's avatar
      aalikhalid
      Contributor

      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!).