Converting NameMapping to "new" application
SOLVED- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
Solved! Go to Solution.
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
[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
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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?
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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!
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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
[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
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
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.
