Ask a Question

2 Root name mapping nodes and mapped item copies created for tested website

SOLVED
ThomasCasserly
Frequent Contributor

2 Root name mapping nodes and mapped item copies created for tested website

Hi all,

 

I am having an issue with namemapped items when running TestComplete keyword tests.

Items are returned as not existing and I have to remap the items.

 

NOTE 1: I have  looked already at dynamically generated values in relation to objects and am using wildcards to filter out what I have identified as the variable portion of the dynamic ids.

 

I have noticed the following in relation to this issue for my mapped application and the namemapped items.

 

1) There are 2 Root/Parent nodes under the namemapping editor for my testsite. Anyone know why this would happen? My test site URL is not changing, at least not what is displayed in the address bar, so I don't understand why I have 2 Root nodes for the same website in the namemapping editor.

 

2) Due to issue 1 above, what I am noticing is that when I run my keyword tests they may run fine a number of times (I generally do 3 runs after creation and debugging the tests to ensure they run correctly) but when I run a test that hasn't been run for some time (maybe a week between runs) suddenly many objects can no longer be found.

When I remap the objects it tends to be the case that failed object is found under the "other" root/parent node in the namemapping editor.

NOTE 2: I have ended up re-mapping many objects due to previous "not found" issues. Therefore most objects I'm examining now have 2 mappings, 1 under each of the separate parent nodes.

 

For example

 

Parent/Root nodes: Parent1, Parent2

 

Object

Parent1_Dialog1_Textbox1_Button1

Parent2_Dialog1_panel2_Button1

 

So the same object (in my example a button)ends up being identified and mapped under 2 different Parents. The path from the parent to the final child object is also usually different in some part e.g. "....panel2..." above for Parent2

 

My main questions are:

1)Why is the namemapping creating 2 separate nodes when my website URL does not change?

2) why after multiple successful test runs can the object suddenly not be found.

3) why the apparent switch in the namemapping identification from one Parent/Root to another between test runs?

 

Apologies for the long description, trying to communicate my issue as clearly as I can.

 

Thanks.

 

17 REPLIES 17

Ok Shankar,

 

can you investigate further? I'll keep an eye on my email in case you need any more information.

 

Thanks


Tom.

Sorry Tom, I can't do further since I don't have access to your web page and also we don't web module license.

 

Certain things i can answer which by looking at your properties and how you can map and all, In this case time needs to be spend on understanding all properties and difference between each parents and all. 

 

 


Thanks
Shankar R

LinkedIn | CG-VAK Software | Bitbucket | shankarr.75@gmail.com

“You must expect great things from you, before you can do them”

Extension Available

Ok,

 

so I should just log a support request then? They will have all the necessary modules etc?

 

Just want to verify something... the problem we're trying to figure out is why the same page is showing up in your namemapping twice.  Is this correct?

 

If so, based upon the mapping criteria you have shown with the properties, etc... they are the same page... so, there are two explanations I can give for this.

 

1) Someone deliberately mapped the same page twice, possibly unknowingly.  In my current employment, this has happened where two people are working on similar automation work and are not aware of what the other person is doing.  So, they end up mapping the same item twice but with different names.  The name that you are seeing (pageAssuranceSimplified and pageRedFlareSimplifyingAssurance) is something that someone entered when they were doing the mapping.

2) If you were recording a test case, there was some sort of situation where TestComplete did not recognize that the page had already been mapped.  Perhaps the page title was different in your development. Perhaps there is some other criteria on the page that is different.  In any case, the initial recognition determined that it was a different page than what was mapped.

 

Solution: 

 

Delete one. 🙂 If you don't need to have both pages, then you can easily delete one.  Now, this may be a bit more complicated than what it seems as you may need to make sure that the one you decide to keep has all your necessary mapped components.  You can drag child objects from one node to another in your mapping to build your final object before you delete.


Robert Martin
[Hall of Fame]
Please consider giving a Kudo if I write good stuff
----

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.

Mysterious Gremlin Master
Vegas Thrill Rider
Extensions available

As for why your test runs are sometimes passing and sometimes failing, without knowing what exactly is in your test scripts or cases, it's hard to say.  My guess is that, because the same object is in your mapping twice, this may be "confusing" the object identification features of TestComplete as it tries to determine which one to reference when looking at the objects on screen.  Again, the solution is to consolidate your mapping into one page object with all the requisite child objects and delete the extraneous object.


Robert Martin
[Hall of Fame]
Please consider giving a Kudo if I write good stuff
----

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.

Mysterious Gremlin Master
Vegas Thrill Rider
Extensions available

Thanks for the suggestions,

It is possible that the product has changed during development to cause the page not to be recognised and a new one to be created in the namemapping.

 

I'll have a look at the delete option, once I've evaluated the objects I need to retain.

 

Thanks

Tom.

No problem, man.

 

Something else to watch for when  you start consolidating the mapping.  Make sure that your references in all your test cases are updated to point to whatever nodes you are looking for. Again, this could take a little bit of elbow grease to find all references but I think you'll end up with a better test project in the end.


Robert Martin
[Hall of Fame]
Please consider giving a Kudo if I write good stuff
----

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.

Mysterious Gremlin Master
Vegas Thrill Rider
Extensions available

Thanks for this. I, copied mapped objects,  and then deleted one of the root mapped nodes. Tests are running more reliably now.

cancel
Showing results for 
Search instead for 
Did you mean: