Any thoughts about this ? At this point in the KWT I would expect the object to be on the page, so that's as expected. In theory if the .Exists is true, the next step shouldn't say it doesn't exist ? If it helps, it seems there may be a pattern that this only appears to happen in the places where this script is the first thing called after a postback, but without navigating to a new URL e.g. clicking the save button and waiting for a redirect to itself

My guess is like yours: the target table might be recreated by script code on the page and this invalidates its previously found (and cached) instance. If this is the case, then you need to figure out the way (or ask developers to implement some flag for you) to identify if test code must wait for the table to be recreated.

Regards,Alex[Community Expert Group]____[Community Expert Group] members are not employed by SmartBear Software butare just volunteers who have some experience with the tools by SmartBear Softwareand a desire to help others. Postings made by [Community Expert Group] membersmay differ from the official policies of SmartBear Software and should be treatedas the own private opinion of their authors and under no circumstances as anofficial answer from SmartBear Software.[Community Expert Group] signature is used with permission by SmartBear Software.http://smartbear.com/forums/f83/t86934/community-experts/================================

My guess is like yours: the target table might be recreated by script code on the page and this invalidates its previously found (and cached) instance. If this is the case, then you need to figure out the way (or ask developers to implement some flag for you) to identify if test code must wait for the table to be recreated.

Regards,Alex[Community Expert Group]____[Community Expert Group] members are not employed by SmartBear Software butare just volunteers who have some experience with the tools by SmartBear Softwareand a desire to help others. Postings made by [Community Expert Group] membersmay differ from the official policies of SmartBear Software and should be treatedas the own private opinion of their authors and under no circumstances as anofficial answer from SmartBear Software.[Community Expert Group] signature is used with permission by SmartBear Software.http://smartbear.com/forums/f83/t86934/community-experts/================================

Re: aqObject.GetPropertyValue object does not exist after an exist check passes

My guess: If this is right after a post-back, the page load may not be complete yet. You might need to, before you execute that code, call a browser.page.Wait call to wait for the page load. The table MAY exist immediately... but when the page refreshes, the "handle" that you found is no longer valid (table destroyed and recreated).

Why automate? I do automated testing because there's only so much a human being can do and remain healthy. Sleep is a requirement. So, while people sleep, automation that I create does what I've described above in order to make sure that nothing gets past the final defense of the testing group.I love good food, good books, good friends, and good fun.

Re: aqObject.GetPropertyValue object does not exist after an exist check passes

I'm going to see if I get different results from Sys.browser rather than Aliases...

So far so good...

Now to figure out why I end up with mutiple iexplorer.exe processes running (and edge as well) after a while. At some point IE just starts a new process and I get ambiguous browser. Thats for a different thread though

Re: aqObject.GetPropertyValue object does not exist after an exist check passes

> At some point IE just starts a new process

Yes, I've also have met this on some environments.

It looked like that IE process was hanging somewhere on close (though this could be due to the tested web application) and any attempt to address it from TestComplete (like browser.Exists, etc.) caused its crash or TestComplete problems. As the chances for the problem to be investigated by developers were extremely low (the problem could not be reproduced manually), we ended up with the approach to .Terminate() the browser process if tests were executed against IE browser.

Regards,Alex[Community Expert Group]____[Community Expert Group] members are not employed by SmartBear Software butare just volunteers who have some experience with the tools by SmartBear Softwareand a desire to help others. Postings made by [Community Expert Group] membersmay differ from the official policies of SmartBear Software and should be treatedas the own private opinion of their authors and under no circumstances as anofficial answer from SmartBear Software.[Community Expert Group] signature is used with permission by SmartBear Software.http://smartbear.com/forums/f83/t86934/community-experts/================================

Re: aqObject.GetPropertyValue object does not exist after an exist check passes

I'm going to see if I get different results from Sys.browser rather than Aliases...

Yes, it looks reliable combined with browser wait. I don't want to use RefreshMappingInfo if I can help it. This script gets called on virtually every KWT, so refreshmappinginfo() would push the test time up by a huge amount. There are places where NameMapping is extremely useful because sometimes identification is a mess and naming too, but I may have to work this into the mix to avoid the caching issues I have experienced previously and had to work around by refreshing. Could end up with nice performance at the cost of code readability. Some object names just don't tell you anything about what you are working with