Novari-QA's avatar
Novari-QA
Frequent Contributor
7 years ago
Status:
New Idea

Ability to "hide" unwanted mapped objects from view but retain hierarchy

As a user with a million mapped objects, the simple hierarchy tree can get cluttered very easily.  When an object is static under; page > panel > panel > panel > panel > panel > panel > panel > panel > panel > textbox.  I do not want to see all of those panels. I want to only see page > textbox.

I would like the ability to mark objects as "uninteresting" to view.  And "filter" my tree to only show child objects that I care about. This way I dont have to rely on extended find and it being slow, but retain the static elements on my page and all at the same time decreasing the clutter in my hierarchy.

  • tristaanogre's avatar
    tristaanogre
    Esteemed Contributor

    That's what "Aliases" are for.  You map the full tree, but then, in the Aliases, you "collapse" the tree into only those things you want.  Note the screenshot below showing the same object in the Mapped Objects pane and the Aliases pane...



    so, for example, if I have an object that, in the mapping looks like this.


     

    I can then edit my Aliases, moving the text node to be a direct child of the page and delete (from Aliases only) the "irrelevant" items so my Alias looks like this

     

     

    The Alias is what the test case then uses to reference the object, the NameMapping engine then reads the Alias, associates it with the mapping tree, and then does the necessary algorithms to find the component in your application.

     

    Read https://support.smartbear.com/testcomplete/docs/testing-with/object-identification/name-mapping/overview.html#about-the-mapped-objects-and-aliases-trees and related topics for more information.  What you have requested most certainly already exists.  

     

    EDIT: Note, this does NOT use extended find.  The component is still fully mapped with all ancestry objects so no "Extended Find" is selected and that find search does not occur.  The "Aliases" is an interpretation layer between the executed test and the NameMapping engine. There is a GUID stored in the NameMapping.tcNM file that connects the Alias of an object to the NameMapping part of the object.

  • Novari-QA's avatar
    Novari-QA
    Frequent Contributor

    I should mention here since I was doing it wrong this entire time which is why i requested the feature.  Dont delete the Alias Node. Rather "Exclude Items" is the option i wanted. Thanks !

  • tristaanogre's avatar
    tristaanogre
    Esteemed Contributor

    So, in other words 

    Easier work in the Name Mapping editor. You can modify aliases of your tested objects in the Name Mapping repository easier. Use the new Exclude Items command to remove unnecessary intermediary levels from the Aliases tree. If the removed alias has children, they will remain in the tree and will move one level up. The mapped objects associated with the alias will also remain in the repository.

     

    From version 12.50?