Forum Discussion

william_roe's avatar
william_roe
Super Contributor
10 years ago

Merging Name Mapping Across Machines

We recently "graduated" from a single test designer to having multiple designers on multiple machines and a dedicated test server. The project suite and project files are on the designer's local machine pointing to Keyword tests on the test server. We are struggling desperately to keep the name mappings synced. For example, several new keyword tests were created on the server today which included new mappings and a few edited mappings. However, when adding the existing keyword tests to our designer's desktop and merging the name mapping FROM THE LOCAL MACHINE these tests were unable to find the objects or found the wrong object. As a last ditch effort I replaced the name mapping file completely on my local machine and it works. The merge dialogue never shows the the content differences indicated in the article and therefore there is no mechanism to resolve conflicts. We are initiating the merge from the designer's desktop machine according to the article (http://support.smartbear.com/viewarticle/55712/). Can someone help us figure out what is happening and how we can merge both from the server to the individual designers machines and visa-versa?

 

Version 10.60.3387.7

4 Replies

  • Marsha_R's avatar
    Marsha_R
    Champion Level 3

    Here's what we worked out in order to keep everything straight.

     

    The master copies of our tests reside in subversion.  Each person working on tests checks out their own copy of the tests, works on those or adds new ones, and commits changes as needed.  Those merges are handled automatically.

     

    Name mapping is merged manually every few days.  One person takes the new name mappings from all the others and merges them one at a time inside TestComplete and deals with any issues.  Once that new master copy is created, then that one is committed in subversion and is then available for everyone to use.

     

    For overnight testing, a separate copy of the whole project is retrieved from subversion and the tests are run from that copy.  We don't include a test in the overnight run until the name mapping that it needs has been merged.

     

    Does that help?

     

     

    • AlexKaras's avatar
      AlexKaras
      Champion Level 3

      Hi,

       

      I little bit different approach is to have dedicated person who must be contacted when the changes to NameMapping are required. This person, together with the change requestor, corrects master NameMapping file that than is spreaded among others.

      The pros of this approach is that: a) there is  no need for the NameMapping merging; and b) as the NameMapping is changed 'interactively', i.e. during direct communication between the change initiator and (hopefully) more experienced person, there is a chance that the changes to NameMapping (and Aliasing) are done in the most effective way (e.g. correct usage of project variables, conditional mapping, extended find functionality, etc.).

      The cons of this approach is that there is a need to communicate with the 'NameMapping file master' who may be not accessible right at the moment (e.g. due to the different time zones).

    • william_roe's avatar
      william_roe
      Super Contributor

      Marsha_R wrote:

      Here's what we worked out in order to keep everything straight.

       

      The master copies of our tests reside in subversion.  Each person working on tests checks out their own copy of the tests, works on those or adds new ones, and commits changes as needed.  Those merges are handled automatically.

       

      Name mapping is merged manually every few days.  One person takes the new name mappings from all the others and merges them one at a time inside TestComplete and deals with any issues.  Once that new master copy is created, then that one is committed in subversion and is then available for everyone to use.

       

      For overnight testing, a separate copy of the whole project is retrieved from subversion and the tests are run from that copy.  We don't include a test in the overnight run until the name mapping that it needs has been merged.

       

      Does that help?

       

       


      It's still not clear how the merging of the name mapping within TC works. Whenever we merge we get a conflict message with no mechanism to resolve. 

       

      Merging Name Conflict.JPG

       

      We never receive the dialog shown in http://support.smartbear.com/viewarticle/55712/

       

       

      • Marsha_R's avatar
        Marsha_R
        Champion Level 3

        william_roe : After that dialog, try searching the name mapping for _new - that's the only way we find the conflicts.