cancel
Showing results for 
Search instead for 
Did you mean: 

Converting NameMapping to "new" application

SOLVED
Highlighted
Contributor

Converting NameMapping to "new" application

We're currently working on migrating from 32 to 64, and I'm trying to set up TC for the 64 bit version. The mapping for everything seems to have been only for the 32 bit application though, and 64 is creating "mappeditem2" for almost everything. 

 

Is there an easy way to remap everything to match the 32 bit so code changes won't be necessary? I'd like to maintain support for both 64 and 32 but I know this isn't a perfect world, so any help would be appreciated. Can I force a merge somehow?

1 ACCEPTED SOLUTION

Accepted Solutions
Community Hero

Re: Converting NameMapping to "new" application

Some suggestions to go along with what @cunderw  mentions:

 

1) Look into using wildcards if possible to mask out portions of the properties so that they can be identified in both 32 and 64 bit.

2) Alternatively, look into "conditional mapping" where you can use IF/AND/OR logic in the property selections.

 

 


Robert Martin
[Community Expert Group]
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
Extensions available
6 REPLIES 6
Community Hero

Re: Converting NameMapping to "new" application

What does the mapping properties look like for your objects? I'm guessing there is a property in there that changes between the two versions that could be adjusted to work with both. 


Thanks,
Carson

Click the Accept as Solution button if my answer has helped
Community Hero

Re: Converting NameMapping to "new" application

Some suggestions to go along with what @cunderw  mentions:

 

1) Look into using wildcards if possible to mask out portions of the properties so that they can be identified in both 32 and 64 bit.

2) Alternatively, look into "conditional mapping" where you can use IF/AND/OR logic in the property selections.

 

 


Robert Martin
[Community Expert Group]
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
Extensions available
Contributor

Re: Converting NameMapping to "new" application

The difference is that the WndClass changed from

 

Afx:00400000:800*

to 

Afx:0000000140000000:b*

but there might be more. Is there a way to TC to pick up all such WndClass to merge with the old ones?

Contributor

Re: Converting NameMapping to "new" application

Wildcards: Looks like code changes, which might be the more reasonable route for future maintenence, but the differences in WndClass are too broad and might pick up too much

 

Conditional Mapping: This might work, is there a way to do this in bulk, or will I have to go through them one by one? I can go through the (I believe it was-) JSON file and simply place a conditional everytime I see a match 

 

Thank you for letting me know about these!

Community Hero

Re: Converting NameMapping to "new" application

Based upon the WndClass change... yeah, I think Conditional Mapping may be your best bet.

Unfortunately, the only SANCTIONED way for doing so is via the IDE of TestComplete.  You COULD try and do it in the NameMapping.tcNM file itself... but that's a rather complex file and I would not recommend it.


Robert Martin
[Community Expert Group]
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
Extensions available
Contributor

Re: Converting NameMapping to "new" application

Just noting for anyone who stumbles upon this thread, I have messed around with the .tcNM file before and it worked. I'll do so again and report in case anyone wants to perform the same method. I should note that you should only mess around with these things if you have backups.

 

Thanks Robert!

 

EDIT: Anyone coming across this, I would recommend (if possible) to find all mismatches in the program. Then use a program such as VS Code to replace them with a WildCard as recommended above. Conditional works too, but if you can use wildcards would save you a lot more time.

New Here?
Join us and watch the welcome video:
Watch the New Interview
APITestingMistake#2