Forum Discussion

nwang66's avatar
nwang66
Contributor
14 years ago

Object Mapping: Sys root node is not recognized by TestComplete

Hi,



       I am testing a windows application and the application is installed from a web page. When I map the application, the root node is ‘Sys’. By default two properties are used for the mapping: Name and Id, which is -1. When a new release is available, I let TestComplete install the new version from the web page. However after the installation, TC cannot recognize this root node ‘Sys’ and its first level child node. TC is still ok to recognize other grand and grand-child nodes. Since TC doesn’t know this Sys node and root application node, I got error of “The object does not exist”…  Not all my applications have this root ‘Sys’ node.  What is this root Sys node pointed to?How can I remove it or not mapping it? A screen shot is attached.  



      Thanks a lot!



Nancy

6 Replies

  • karkadil's avatar
    karkadil
    Valued Contributor
    I don't really think that TestComplete can't recognize Sys node, as this is a base node which represents System itself (see help topic "Sys Object" for details). That is why you can't get rid of it.



    Most probably TestComplete can't recognize a child element. In this case I suggest to delete "id" property of that child mapped object, may be it will help.
  •  Hi,



        Thanks for both Gennadiy and David! 



        The followings are what I did.

    -   Mapped my tested application, which was ESG_CSISAPP, Sys node was mapped. It had two properties: Name and Id.

    -  Wrote scripts and ran my tests. It worked prefect.

    -   Two months later, a new version of my tested application was available. So I removed old version and installed new version, then ran my tests again. However, I got error of object not exist.

    -   In Name Mapping panel and Object Browser panel, if high light Sys node or its child node (Process(“ESG_CSISAPP”), Highlight on Screen menu is not enabled or cannot highlight this object on screen. So I know something is not correct in my objects mapping.

    -   Then I tried deleting Id, adding DomainName or deleting both for Sys node, no one works.

    -   But all grandchild nodes are still ok to be highlight on screen.

     



          My question is, is this because my new application has different installation patch, or the new version framework had slightly changed, or my windows system (OS) had a couple of updating? Then TC cannot recognize the Sys node and its first child node?

     


           I am going to update my TC 7 to TC8. It seems in TC8 we can delete one node in NameMapping and move all its child nodes one level up. Not sure if this will work...



         Thanks a lot!



    Nancy

  • karkadil's avatar
    karkadil
    Valued Contributor
    Objects Sys and Process cannot be highlighted as well as any other invisible object.



    So, if you can highlight their grandchild nodes, then everything is OK with your NameMapping tree :)
  • Some of grand-child controls don't exist... not sure this is becasue my new version application has something changed on GUI (new and old applications look no different on GUI) or some other reasons... It seems this has nothing to do with TC 7 or 8. 



    Yes, you are right, it doesn't matter that TC can recognize Sys node, my application root node (second top) or not, the script is still working on some mappings. But the child item of all drop down menus are not recognizable. For example, I have drop down menu, which is uceMarket. When the drop down menu opens, another control will be enabled.

        - grpSearch

             - uceMarket

                 - ValueListDropDown



    grpSearch, uceMarket are still ok, but the "ValueListDropDown" doesn't exist anymore... so it doesn't seem that developers modified anything... anyway, I have to delete my NameMapping and re-map all controls. Hopefully for next release, I don't need to do this!



    Thanks!