Sign into gmail after dynamic reload of everything previously mapped in Name Mapping
My script will successfully sign into Gmail, click on an email, and click on the link in that email if and only if I do not sign out of Gmail or close the browser. As soon as the user is no longer signed into Gmail, even though my automation script can successfully sign the same user into Gmail, the mapping is no longer correct for what Gmail has at that point. Gmail ( and even mail.com for that fact ) changes the links dynamically upon page load. I can not stay signed into Gmail the whole time.
Also, when I signed out of Gmail and signed back in, Test Complete wanted me to check out the Name Mapping again to create new links when I tried another property check point. Test Complete made a new mapping that was not the same as the one that worked before I signed out of Gmail. So, I am very certain that Gmail is changing things on me when I sign back in as the same user.
So, in my automation script, how can I still sign out of Gmail, sign back into Gmail and click the link in the email if the site dynamically changes objects each time I sign into Gmail?
I did get gmail through a browser working after restarts and suchlike.
But I do remember the map was a horror story. I'm sure it was about 30 levels deep to actually get to the body of an e-mail. I'm pretty sure I had to go all the way through the map, VERY carefully, and find a couple of identification properties that seemed to indicate session ID's and wildcard them.
This was quite a few versions of Chrome ago, so my map may not still work. Also, that script and the VM which ran it is all zipped away and archived so I can't easily check it for you I'm afraid. (I'm actually on holiday today ... I just remoted into my work machine to check something on e-mail there ...)
But plough through the object map. Looks for long random strings in properties. They tend to be session related and/or generated on the fly.
It may also be worth enabling "find on any level". Or using a top level container and find (or series of finds), rather than a name map.
This is not an answer to your question, but rather a suggestion. If you aren't actually testing the Gmail interface, consider accessing Gmail and email contents programmatically. There're third-party email client libraries, such as .NET MailKit, that you can use via CLR Bridge/dotNET. Imho this would be easier than dealing with the UI map.