EngineComponentCommands

Last Updated:

Engine commands for components.

These commands are generally for interrogating engines about the Windows and Components they can find. These are not normally used during testing. (But they can be used during testing like any other command record.)

For example, these commands are heavily used by STAFProcessContainer during test design time.

Each engine command has different parameters as described in its documentation. For reference, the first fields of ALL Engine Command test records are defined below:

Field #1 -- "E" = ENGINE COMMAND record type specifier.

Field #2 -- The Engine Command keyword.

Example:

E, GetTopLevelWindows

Engine Command parameters must be placed in the test record in the field position specified in the documentation. Some parameters are optional. However, the field associated with that parameter must be honored. If you wish to skip an optional parameter you must still provide an empty field for that parameter.

Example:

E, SomeCommand, Value1, Value2, , , Value5

The above example shows two optional fields after Value2 which are given no value(skipped).

Engine commands that return a value do so in the SAFS/Hook/statusinfo variable of SAFSVARS which is populated via TestRecordData.statusinfo.

The Android Engine also persists these values as SAFS variables.

            ^DroidEngine.Command    = [command]
            ^DroidEngine.StatusCode = [statuscode string]
            ^DroidEngine.StatusInfo = [statusinfo]
            

See DEngineCommandProcessor.setStatusVars().

The TestComplete Engine (TCAFS) also persists these values as SAFS variables.

            
            ^TCAFS.Command    = [command]
            ^TCAFS.StatusCode = [statuscode string]
            ^TCAFS.StatusInfo = [statusinfo]
            ^TCAFS.FullName   = [object.FullName] -- the TestObjects.FullName string--if command returns only 1 reference.
            ^TCAFS.UID.Count  = [Number of UID References created last]
            ^TCAFS.UID.1      = [First UID Reference created]
            ^TCAFS.UID.n      = [UID Reference number n]            
            

The TestRecordData.statuscode is set to NO_SCRIPT_FAILURE if the engine supports and processes the command. This is true even if the command results in an empty, missing, or null return value.

SCRIPT_NOT_EXECUTED should be returned in TestRecordData.statuscode if the engine does not support the command.

Note that the full availablility of all Engine Commands may be spread across several files. Together, all of these files define all the Engine Commands available to the core framework.



[How To Read This Reference]
ClearHighlightedDialog
RJ DRD
Clean the highlight rectangle.
ClearReferenceCache
TC DRD
Clear the Object reference cache used in a remote engine.
EnableDomains
RJ
Enable searching domains.
GetAccessibleName
DRD RJ
Get the AccessibleName of the component, if any.
GetCaption
RJ DRD
Get the Caption of a component, if any.
GetChildCount
RJ DRD
Get the number of children, if any, for the provided container component.
GetChildren
RJ DRD
Get references to the children, if any, for the provided container component.
GetClassIndex
DRD
Get the ClassIndex of the component, if any.
GetClassname
DRD RJ
Get the Classname of a component.
GetComponentRectangle
RJ
Find the component according to Component Test Object's key and get its screen location.
GetCurrentWindow
DRD TC
Return a reference to the top-most active (Window) with focus.
GetId
RJ DRD
Get the ID of a component, if any.
GetLevel
RJ
Get the Z-order of a component--usually a Window.
GetMatchingChildKeysAtPoint
RJ DRD
According to screen location, find the test object at that point and return all matching keys in cache.
GetMatchingChildObjects
RJ DRD
Retrieve an array of child objects that match a recognition string.
GetMatchingParentObject
DRD RJ
Get a reference to the toplevel Window\Parent that matches the recognition string provided.
GetMatchingPathObject
RJ
Get the subitem object\node matching the provided Path.
GetName
DRD RJ
Get the Name (AccessibleName or Name) of the component, if any. The AccessibleName shall be found first and returned, if any.
GetNonAccessibleName
DRD RJ
Get the non-AccessibleName (Name except for AccessibleName) of the component, if any.
GetProperty
DRD RJ
Get the value of a specific property from a component.
GetPropertyNames
DRD RJ
Get the names of all available properties for a component.
GetStringData
Get the values, text, or data associated with the component.
GetSuperClassnames
DRD RJ
Get the hierarchy of superclasses for the component.
GetText
DRD RJ
Get the (text) value of a component, if any.
GetTopLevelCount
DRD RJ TC
Get the number of visible top-level items (Windows?) for the engine.
GetTopLevelWindows
DRD TC RJ
Return references to all known top-level items (Windows).
GetTopWindowHandle
RJ
Get the Windows native handle of the top window containing the component.
HighlightMatchingChildObject
RJ
Find the component according to Recognition String and highlight it.
HighlightMatchingChildObjectByKey
RJ DRD
Find the component according to Window/Component Test Object's key and highlight it.
IsEnabled
TC DRD
Is the component Enabled (vs. disabled)?
IsMatchingPath
RJ
Determine if there is a matching Path object.
IsShowing
TC DRD RJ
Is the component visible?
IsTopLevelPopupContainer
TC DRD
Is the component a top-level Popup Container?
IsValid
TC DRD RJ
Does the component still exist as a valid object?
SetActiveWindow
TC DRD RJ
Make the component the active (topmost?) Window or Component.

EngineComponentCommands::ClearHighlightedDialog
RJ DRD

Clean the highlight rectangle.

Clean the highlight rectangle. When a component is highlighted, a red rectangle may be drawn by us around that component, this keyword is used to clean that rectangle.

Fields: [ ]=Optional with Default Value
    Examples:
    [How To Read This Reference]

    EngineComponentCommands::ClearReferenceCache
    TC DRD

    Clear the Object reference cache used in a remote engine.

    Clear the Object reference cache used in a remote engine. When a driver or controller requests a unique reference for a remote Object the Object and a String Key are stored in an internal cache in the remote engine. This command instructs the remote engine to clear its internal cache of Objects and Keys.

    Fields: [ ]=Optional with Default Value
      Examples:
      [How To Read This Reference]

      EngineComponentCommands::EnableDomains
      RJ

      Enable searching domains.

      Enable the domains for searching target main window within these domains. Up to now, RobotJ engine supports Java, DotNet, Win, Html, SWT and Flex.

      Fields: [ ]=Optional with Default Value
      1. Domains
        A string that contains at least one domain.

        More than one domain, if have, are delimited with ',' or ';'.

      Examples:
      [How To Read This Reference]

      EngineComponentCommands::GetAccessibleName
      DRD RJ

      Get the AccessibleName of the component, if any.

      If no AccessibleName is present the engine should return "<SAFS_NULL>".

      The Android Engine also persists these values as SAFS variables.

                  ^DroidEngine.Command    = [command]
                  ^DroidEngine.StatusCode = [statuscode string]
                  ^DroidEngine.StatusInfo = [statusinfo]
                  

      See DEngineCommandProcessor.setStatusVars().



      Fields: [ ]=Optional with Default Value
      1. Component
        An object reference or proxy reference to the component.

        A reference to a particular component previously returned from a call to getTopLevelWindows, getMatchingChildObjects, getChildren, or one of the other engine commands that return such references.

      Examples:
      [How To Read This Reference]

      EngineComponentCommands::GetCaption
      RJ DRD

      Get the Caption of a component, if any.

      Normally, this is only valid for window or child window components. If no caption is present, or the component does not support captions, the engine should return "<SAFS_NULL>".

      The Android Engine also persists these values as SAFS variables.

                  ^DroidEngine.Command    = [command]
                  ^DroidEngine.StatusCode = [statuscode string]
                  ^DroidEngine.StatusInfo = [statusinfo]
                  

      See DEngineCommandProcessor.setStatusVars().



      Fields: [ ]=Optional with Default Value
      1. Component
        An object reference or proxy reference to the component.

        A reference to a particular component previously returned from a call to getTopLevelWindows, getMatchingParentObject, or one of the other engine commands that return such references.

      Examples:
      [How To Read This Reference]

      EngineComponentCommands::GetChildCount
      RJ DRD

      Get the number of children, if any, for the provided container component.

      This is only valid for windows and other containers of child components. If no children are present (or supported) then the returned count should be 0.

      The Android Engine also persists these values as SAFS variables.

                  ^DroidEngine.Command    = [command]
                  ^DroidEngine.StatusCode = [statuscode string]
                  ^DroidEngine.StatusInfo = [statusinfo]
                  

      See DEngineCommandProcessor.setStatusVars().



      Fields: [ ]=Optional with Default Value
      1. Component
        An object reference or proxy reference to the component.

        A reference to a particular component previously returned from a call to getTopLevelWindows, getMatchingParentObject, getMatchingChildObjects, or one of the other engine commands that return such references.

      Examples:
      [How To Read This Reference]

      EngineComponentCommands::GetChildren
      RJ DRD

      Get references to the children, if any, for the provided container component.

      Normally, this is only valid for windows or other container components. If no children exist then an empty string is returned. If children are present then a single string of separated values is returned. The first character in the returned string defines the delimiter character used to separate child references.

      The Android Engine also persists these values as SAFS variables.

                  ^DroidEngine.Command    = [command]
                  ^DroidEngine.StatusCode = [statuscode string]
                  ^DroidEngine.StatusInfo = [statusinfo]
                  

      See DEngineCommandProcessor.setStatusVars().



      Fields: [ ]=Optional with Default Value
      1. Component
        An object reference or proxy reference to the component.

        A reference to a particular component previously returned from a call to getTopLevelWindows, getMatchingParentObject, getMatchingChildObjects, or one of the other engine commands that return such references.

      Examples:
      [How To Read This Reference]

      EngineComponentCommands::GetClassIndex
      DRD

      Get the ClassIndex of the component, if any.

      If no ClassIndex is present the engine should return "0".

      The Android Engine also persists these values as SAFS variables.

                  ^DroidEngine.Command    = [command]
                  ^DroidEngine.StatusCode = [statuscode string]
                  ^DroidEngine.StatusInfo = [statusinfo]
                  

      See DEngineCommandProcessor.setStatusVars().



      Fields: [ ]=Optional with Default Value
      1. Component
        An object reference or proxy reference to the component.

        A reference to a particular component previously returned from a call to getTopLevelWindows, getMatchingParentObject, or one of the other engine commands that return such references.

      Examples:
      [How To Read This Reference]

      EngineComponentCommands::GetClassname
      DRD RJ

      Get the Classname of a component.

      If no classname is returned, or the domain does not support "classes", the engine should return "<SAFS_NULL>".

      The Android Engine also persists these values as SAFS variables.

                  ^DroidEngine.Command    = [command]
                  ^DroidEngine.StatusCode = [statuscode string]
                  ^DroidEngine.StatusInfo = [statusinfo]
                  

      See DEngineCommandProcessor.setStatusVars().



      Fields: [ ]=Optional with Default Value
      1. Component
        An object reference or proxy reference to the component.

        A reference to a particular component previously returned from a call to getTopLevelWindows, getMatchingParentObject, getChildren, or one of the other engine commands that return such references.

      Examples:
      [How To Read This Reference]

      EngineComponentCommands::GetComponentRectangle
      RJ

      Find the component according to Component Test Object's key and get its screen location.

      Find the component according to Component Test Object's key and get its screen location. The component's screen location is returned as a string "UpLeftX, UpLeftY, Width, Height".

      Fields: [ ]=Optional with Default Value
      1. ComponentKey
        A string represents the key of component's Test Object.

        A string represents the key of component's Test Object. This key is generated by engine and used to get the Component Test Object from a cache.

      Examples:
      [How To Read This Reference]

      EngineComponentCommands::GetCurrentWindow
      DRD TC

      Return a reference to the top-most active (Window) with focus.

      The Android Engine also persists these values as SAFS variables.

                  ^DroidEngine.Command    = [command]
                  ^DroidEngine.StatusCode = [statuscode string]
                  ^DroidEngine.StatusInfo = [statusinfo]
                  

      See DEngineCommandProcessor.setStatusVars().

      The TestComplete Engine (TCAFS) also persists these values as SAFS variables.

                  
                  ^TCAFS.Command    = [command]
                  ^TCAFS.StatusCode = [statuscode string]
                  ^TCAFS.StatusInfo = [statusinfo]
                  ^TCAFS.FullName   = [object.FullName] -- the TestObjects.FullName string--if command returns only 1 reference.
                  ^TCAFS.UID.Count  = [Number of UID References created last]
                  ^TCAFS.UID.1      = [First UID Reference created]
                  


      Fields: [ ]=Optional with Default Value
        Examples:
        [How To Read This Reference]

        EngineComponentCommands::GetId
        RJ DRD

        Get the ID of a component, if any.

        If no ID is present, or the component does not support IDs, the engine should return "<SAFS_NULL>".

        The Android Engine also persists these values as SAFS variables.

                    ^DroidEngine.Command    = [command]
                    ^DroidEngine.StatusCode = [statuscode string]
                    ^DroidEngine.StatusInfo = [statusinfo]
                    

        See DEngineCommandProcessor.setStatusVars().



        Fields: [ ]=Optional with Default Value
        1. Component
          An object reference or proxy reference to the component.

          A reference to a particular component previously returned from a call to getTopLevelWindows, getMatchingParentObject, getChildren, or one of the other engine commands that return such references.

        Examples:
        [How To Read This Reference]

        EngineComponentCommands::GetLevel
        RJ

        Get the Z-order of a component--usually a Window.

        Level is generally considered to be the Z-Order information of the object--where in the Window Z-Order the object (usually a Window) resides. Level is combined with another recognition method when the other method does not uniquely identify the windows. For example, if there are multiple windows with the same caption, and Caption is the recognition method being used. The Level qualifier specifies which one of the similarly-identified windows should be targeted for the action, based on the Windows' Z-Order. The first window is a ssigned "Level=1", the second "Level=2", and so on. Level serves as a clarifier only and is used only after all other methods have been attempted.

        If the Level cannot be determined then the engine should return -1.



        Fields: [ ]=Optional with Default Value
        1. Component
          An object reference or proxy reference to the component.

          A reference to a particular component previously returned from a call to getTopLevelWindows, getMatchingParentObject, or one of the other engine commands that return such references.

        Examples:
        [How To Read This Reference]

        EngineComponentCommands::GetMatchingChildKeysAtPoint
        RJ DRD

        According to screen location, find the test object at that point and return all matching keys in cache.

        According to screen location, find the test object at that point and return all matching keys in cache. The keys will be separaged by a separator, the separator is determinated dynamically and it may be "," "|" ":" ";" "_" "#" "!"

        Fields: [ ]=Optional with Default Value
        1. WindowKey
          A string represents the key of window's Test Object.

          A string represents the key of window's Test Object. This key is generated by engine and used to get the Window/Component Test Object from a cache.

        2. ComponentLocationX
          A string represents the component's x location on screen.

          A string represents the component's x location on screen.

        3. ComponentLocationY
          A string represents the component's y location on screen.

          A string represents the component's y location on screen.

        Examples:
        [How To Read This Reference]

        EngineComponentCommands::GetMatchingChildObjects
        RJ DRD

        Retrieve an array of child objects that match a recognition string.

        Normally, this is only valid for window or other container components. If no matching child objects exist then the engine should return "<SAFS_NULL>".

        Returns a character delimited string of child references. The first character in the returned string defines the delimiter used to separate the items.

        Currently, the engine command processors only support returning the first child matching the recognition string.

        The Android Engine also persists these values as SAFS variables.

                    ^DroidEngine.Command    = [command]
                    ^DroidEngine.StatusCode = [statuscode string]
                    ^DroidEngine.StatusInfo = [statusinfo]
                    

        See DEngineCommandProcessor.setStatusVars().



        Fields: [ ]=Optional with Default Value
        1. Component
          An object reference or proxy reference to the component.

          A reference to a particular component previously returned from a call to getTopLevelWindows or getMatchingParentObject, or one of the other engine commands that return such references.

        2. Recognition
          Recognition string describing the children to find.

          The recognition string is normally considered to be relative to the parent Component provided. Thus, information identifying the parent should normally NOT be part of the provided recognition string. For details on Recognition strings see: Gui Object Recognition;

        Examples:
        [How To Read This Reference]

        EngineComponentCommands::GetMatchingParentObject
        DRD RJ

        Get a reference to the toplevel Window\Parent that matches the recognition string provided.

        Locate a toplevel Window\Parent matching the recognition string and return a unique reference to that component. If no match is found the engine should return "<SAFS_NULL>".

        The Android Engine also persists these values as SAFS variables.

                    ^DroidEngine.Command    = [command]
                    ^DroidEngine.StatusCode = [statuscode string]
                    ^DroidEngine.StatusInfo = [statusinfo]
                    

        See DEngineCommandProcessor.setStatusVars().



        Fields: [ ]=Optional with Default Value
        1. Recognition
          Recognition string describing the Window\Parent to find.

          Topmost parent windows are usually identified with Type or Class information. The recognition string should uniquely identify the target window or incorrect matches will result.

          For details on Recognition strings see: Gui Object Recognition;



        Examples:
        [How To Read This Reference]

        EngineComponentCommands::GetMatchingPathObject
        RJ

        Get the subitem object\node matching the provided Path.

        Normally, this is only valid for components whose subitems, nodes, or children are located by Path syntax: Root->Branch->Leaf. This is often the case for Menus, MenuItems, and Tree nodes.

        If no match is found the engine should return: "<SAFS_NULL>".



        Fields: [ ]=Optional with Default Value
        1. Component
          An object reference or proxy reference to the component.

          A reference to a particular component previously returned from a call to getTopLevelWindows, getMatchingParentObject, getMatchingChildObjects, getChildren, or one of the other engine commands that return such references.

        2. Path
          The Path object\node to locate relative to the Component.

          Path syntax: "Root->Branch->Leaf"

        Examples:
        [How To Read This Reference]

        EngineComponentCommands::GetName
        DRD RJ

        Get the Name (AccessibleName or Name) of the component, if any. The AccessibleName shall be found first and returned, if any.

        If no Name is present the engine should return "<SAFS_NULL>".

        The Android Engine also persists these values as SAFS variables.

                    ^DroidEngine.Command    = [command]
                    ^DroidEngine.StatusCode = [statuscode string]
                    ^DroidEngine.StatusInfo = [statusinfo]
                    

        See DEngineCommandProcessor.setStatusVars().



        Fields: [ ]=Optional with Default Value
        1. Component
          An object reference or proxy reference to the component.

          A reference to a particular component previously returned from a call to getTopLevelWindows, getMatchingChildObjects, getChildren, or one of the other engine commands that return such references.

        Examples:
        [How To Read This Reference]

        EngineComponentCommands::GetNonAccessibleName
        DRD RJ

        Get the non-AccessibleName (Name except for AccessibleName) of the component, if any.

        If no non-AccessibleName is present the engine should return "<SAFS_NULL>".

        The Android Engine also persists these values as SAFS variables.

                    ^DroidEngine.Command    = [command]
                    ^DroidEngine.StatusCode = [statuscode string]
                    ^DroidEngine.StatusInfo = [statusinfo]
                    

        See DEngineCommandProcessor.setStatusVars().



        Fields: [ ]=Optional with Default Value
        1. Component
          An object reference or proxy reference to the component.

          A reference to a particular component previously returned from a call to getTopLevelWindows, getMatchingChildObjects, getChildren, or one of the other engine commands that return such references.

        Examples:
        [How To Read This Reference]

        EngineComponentCommands::GetProperty
        DRD RJ

        Get the value of a specific property from a component.

        Retrieves the value of the specified property. Property names are case-sensitive. If the property name provided is invalid or unsupported the engine should return "<SAFS_NULL>".

        The Android Engine also persists these values as SAFS variables.

                    ^DroidEngine.Command    = [command]
                    ^DroidEngine.StatusCode = [statuscode string]
                    ^DroidEngine.StatusInfo = [statusinfo]
                    

        See DEngineCommandProcessor.setStatusVars().



        Fields: [ ]=Optional with Default Value
        1. Component
          An object reference or proxy reference to the component.

          A reference to a particular component previously returned from a call to getTopLevelWindows, getMatchingChildObjects, getChildren, or one of the other engine commands that return such references.

        2. Property
          The property name to retrieve.

          Property names are case-sensitive.

        Examples:
        [How To Read This Reference]

        EngineComponentCommands::GetPropertyNames
        DRD RJ

        Get the names of all available properties for a component.

        Returns a delimited string list of case-sensitive property names for the component. The first character in the string is the delimiter used to separate each property name in the list.

        The Android Engine also persists these values as SAFS variables.

                    ^DroidEngine.Command    = [command]
                    ^DroidEngine.StatusCode = [statuscode string]
                    ^DroidEngine.StatusInfo = [statusinfo]
                    

        See DEngineCommandProcessor.setStatusVars().



        Fields: [ ]=Optional with Default Value
        1. Component
          An object reference or proxy reference to the component.

          A reference to a particular component previously returned from a call to getTopLevelWindows, getMatchingChildObjects, getChildren, or one of the other engine commands that return such references.

        Examples:
        [How To Read This Reference]

        EngineComponentCommands::GetStringData

        Get the values, text, or data associated with the component.

        This is returned as a String containing a delimited list of values forming a 2D array or table of values. The first character in the string specifies the delimiter used to separate values. The first value between delimiters specifies the number of rows of data. The second value between delimiters specifies the number of columns of data. This is immediately followed by all the values separated by delimiters.

        Example return string showing a single value (1 row and 1 column): ",1,1,MyValue"

        Missing values are represented simply by two delimiters back-to-back with no value between them.

        Example return string of 3 rows with 2 columns with missing values in the last two rows:

        ",3,2,a,b,,d,e,"

        Whitespace in a value is retained. Everything between delimiters is treated as part of the value.

        If there is no retrievable text or data the engine should return "<SAFS_NULL>".



        Fields: [ ]=Optional with Default Value
        1. Component
          An object reference or proxy reference to the component.

          A reference to a particular component previously returned from a call to getTopLevelWindows, getMatchingChildObjects, getChildren, or one of the other engine commands that return such references.

        Examples:
        [How To Read This Reference]

        EngineComponentCommands::GetSuperClassnames
        DRD RJ

        Get the hierarchy of superclasses for the component.

        Returns a delimited string list of case-sensitive classnames for the component. The first character in the string is the delimiter used to separate each classname in the hierarchy.

        If there is no superclass or hierarchy the engine will return a delimited list of one value--the component's classname. (Ex: ",Html.BUTTON")

        When a superclass hierarchy does exist the first value after the delimiter is the component's classname. Each delimited value after that goes one higher in the hierarchy until the topmost superclass has been processed.
        (Ex: ",CustomButton,java.awt.Button,java.awt.Component,java.lang.Object")

        If the component itself has no classname and no hierarchy (unusual!) then the engine should simply return an empty, 0-length string.

        The Android Engine also persists these values as SAFS variables.

                    ^DroidEngine.Command    = [command]
                    ^DroidEngine.StatusCode = [statuscode string]
                    ^DroidEngine.StatusInfo = [statusinfo]
                    

        See DEngineCommandProcessor.setStatusVars().



        Fields: [ ]=Optional with Default Value
        1. Component
          An object reference or proxy reference to the component.

          A reference to a particular component previously returned from a call to getTopLevelWindows, getMatchingChildObjects, getChildren, or one of the other engine commands that return such references.

        Examples:
        [How To Read This Reference]

        EngineComponentCommands::GetText
        DRD RJ

        Get the (text) value of a component, if any.

        If the component does not have text or any "value" the engine should return "<SAFS_NULL>".

        The Android Engine also persists these values as SAFS variables.

                    ^DroidEngine.Command    = [command]
                    ^DroidEngine.StatusCode = [statuscode string]
                    ^DroidEngine.StatusInfo = [statusinfo]
                    

        See DEngineCommandProcessor.setStatusVars().



        Fields: [ ]=Optional with Default Value
        1. Component
          An object reference or proxy reference to the component.

          A reference to a particular component previously returned from a call to getTopLevelWindows, getMatchingChildObjects, getChildren, or one of the other engine commands that return such references.

        Examples:
        [How To Read This Reference]

        EngineComponentCommands::GetTopLevelCount
        DRD RJ TC

        Get the number of visible top-level items (Windows?) for the engine.

        Returns the number of visible top-level items, or 0. Not all engines can see all items. For example, Selenium only looks for Web clients. Some engines may only look for Java clients, etc.. Some engines can see other top-level items that are not Windows--like Processes, or Threads, etc...

        The Android Engine also persists these values as SAFS variables.

                    ^DroidEngine.Command    = [command]
                    ^DroidEngine.StatusCode = [statuscode string]
                    ^DroidEngine.StatusInfo = [statusinfo]
                    

        See DEngineCommandProcessor.setStatusVars().

        The TestComplete Engine (TCAFS) also persists these values as SAFS variables.

                    
                    ^TCAFS.Command    = [command]
                    ^TCAFS.StatusCode = [statuscode string]
                    ^TCAFS.StatusInfo = [statusinfo]
                    


        Fields: [ ]=Optional with Default Value
          Examples:
          [How To Read This Reference]

          EngineComponentCommands::GetTopLevelWindows
          DRD TC RJ

          Return references to all known top-level items (Windows).

          The engine can only return references to those top-level items it has knowledge of. Not all engines can see all items. For example, Selenium only looks for Web clients. Some engines may only look for Java clients, etc.. Some engines can see other top-level items that are not Windows--like Processes, or Threads, etc...

          The engine's array of objects will be returned as a delimited list of fields. The first character in the String will identify the separator used between each reference. If no top level windows were found then the engine will return an empty string.

          The Android Engine also persists these values as SAFS variables.

                      ^DroidEngine.Command    = [command]
                      ^DroidEngine.StatusCode = [statuscode string]
                      ^DroidEngine.StatusInfo = [statusinfo]
                      

          See DEngineCommandProcessor.setStatusVars().

          The TestComplete Engine (TCAFS) also persists these values as SAFS variables.

                      
                      ^TCAFS.Command    = [command]
                      ^TCAFS.StatusCode = [statuscode string]
                      ^TCAFS.StatusInfo = [statusinfo]
                      ^TCAFS.UID.Count  = [Number of UID References created last]
                      ^TCAFS.UID.1      = [First UID Reference created]
                      ^TCAFS.UID.n      = [UID Reference number n]            
                      


          Fields: [ ]=Optional with Default Value
            Examples:
            [How To Read This Reference]

            EngineComponentCommands::GetTopWindowHandle
            RJ

            Get the Windows native handle of the top window containing the component.

            Get the Windows native handle of the top window containing the component.

            Fields: [ ]=Optional with Default Value
            1. ComponentKey
              A string represents the key of component's Test Object.

              A string represents the key of component's Test Object. This key is generated by engine and used to get the Component Test Object from a cache.

            Examples:
            [How To Read This Reference]

            EngineComponentCommands::HighlightMatchingChildObject
            RJ

            Find the component according to Recognition String and highlight it.

            According to the Window's and Component's Recognition String, find the Component Test Object and highlight it by a red rectangle.

            Fields: [ ]=Optional with Default Value
            1. WindowRS
              A string represents the window's Recognition String.

              A string represents the window's Recognition String. The format of Recognition String may be different for different engine.

            2. ComponentRS
              A string represents the component's Recognition String.

              A string represents the component's Recognition String. The format of Recognition String may be different for different engine.

            Examples:
            [How To Read This Reference]

            EngineComponentCommands::HighlightMatchingChildObjectByKey
            RJ DRD

            Find the component according to Window/Component Test Object's key and highlight it.

            According to the Window's and Component's Test Object key, get the Component Test Object and highlight it by a red rectangle.

            Fields: [ ]=Optional with Default Value
            1. WindowKey
              A string represents the key of window's Test Object.

              A string represents the key of window's Test Object. This key is generated by engine and used to get the Window Test Object from a cache.

            2. ComponentKey
              A string represents the key of component's Test Object.

              A string represents the key of component's Test Object. This key is generated by engine and used to get the Component Test Object from a cache.

            Examples:
            [How To Read This Reference]

            EngineComponentCommands::IsEnabled
            TC DRD

            Is the component Enabled (vs. disabled)?

            Should return text "true" if the component is Enabled. Return text "false" if it is not.

            The Android Engine also persists these values as SAFS variables.

                        ^DroidEngine.Command    = [command]
                        ^DroidEngine.StatusCode = [statuscode string]
                        ^DroidEngine.StatusInfo = [statusinfo]
                        

            See DEngineCommandProcessor.setStatusVars().

            The TestComplete Engine (TCAFS) also persists these values as SAFS variables.

                        
                        ^TCAFS.Command    = [command]
                        ^TCAFS.StatusCode = [statuscode string]
                        ^TCAFS.StatusInfo = [statusinfo]
                        ^TCAFS.FullName   = [object.FullName] -- the TestObjects.FullName string--if command returns only 1 reference.
                        


            Fields: [ ]=Optional with Default Value
            1. Component
              An object reference or proxy reference to the component.

              A reference to a particular component previously returned from a call to getTopLevelWindows, getChildren, or one of the other engine commands that return such references.

            Examples:
            [How To Read This Reference]

            EngineComponentCommands::IsMatchingPath
            RJ

            Determine if there is a matching Path object.

            Normally, this is only valid for components whose subitems, nodes, or children are found by Path syntax: Root->Branch->Leaf. This is often the case for Menus, MenuItems, and Tree nodes.

            Returns text "true" if an object matching the provided Path was found. Returns text "false" if no such object was found.



            Fields: [ ]=Optional with Default Value
            1. Component
              An object reference or proxy reference to a component.

              A reference to a particular component previously returned from a call to getTopLevelWindows, getChildren, or one of the other engine commands that return such references. The Path sought is expected to be relative to this object.

            2. Path
              The Path to locate relative to the Component.

              Path syntax: "Root->Branch->Leaf"

            Examples:
            [How To Read This Reference]

            EngineComponentCommands::IsShowing
            TC DRD RJ

            Is the component visible?

            Returns text "true" if the component is set to be visible. Returns text "false" if the component is set to be hidden or otherwise is not visible.

            The Android Engine also persists these values as SAFS variables.

                        ^DroidEngine.Command    = [command]
                        ^DroidEngine.StatusCode = [statuscode string]
                        ^DroidEngine.StatusInfo = [statusinfo]
                        

            See DEngineCommandProcessor.setStatusVars().

            The TestComplete Engine (TCAFS) also persists these values as SAFS variables.

                        
                        ^TCAFS.Command    = [command]
                        ^TCAFS.StatusCode = [statuscode string]
                        ^TCAFS.StatusInfo = [statusinfo]
                        ^TCAFS.FullName   = [object.FullName] -- the TestObjects.FullName string--if command returns only 1 reference.
                        


            Fields: [ ]=Optional with Default Value
            1. Component
              An object reference or proxy reference to the component.

              A reference to a particular component previously returned from a call to getTopLevelWindows, getChildren, or one of the other engine commands that return such references.

            Examples:
            [How To Read This Reference]

            EngineComponentCommands::IsTopLevelPopupContainer
            TC DRD

            Is the component a top-level Popup Container?

            Should return text "true" if the component is. Return text "false" if it is not. Different domains or environs will have different classes or types that are Popup Windows or Popup containers.

            The Android Engine also persists these values as SAFS variables.

                        ^DroidEngine.Command    = [command]
                        ^DroidEngine.StatusCode = [statuscode string]
                        ^DroidEngine.StatusInfo = [statusinfo]
                        

            See DEngineCommandProcessor.setStatusVars().

            The TestComplete Engine (TCAFS) also persists these values as SAFS variables.

                        
                        ^TCAFS.Command    = [command]
                        ^TCAFS.StatusCode = [statuscode string]
                        ^TCAFS.StatusInfo = [statusinfo]
                        ^TCAFS.FullName   = [object.FullName] -- the TestObjects.FullName string--if command returns only 1 reference.
                        


            Fields: [ ]=Optional with Default Value
            1. Component
              An object reference or proxy reference to the component.

              A reference to a particular component previously returned from a call to getTopLevelWindows, getChildren, or one of the other engine commands that return such references.

            Examples:
            [How To Read This Reference]

            EngineComponentCommands::IsValid
            TC DRD RJ

            Does the component still exist as a valid object?

            Should return text "true" if the component is still valid. Return text "false" if it is not.

            The Android Engine also persists these values as SAFS variables.

                        ^DroidEngine.Command    = [command]
                        ^DroidEngine.StatusCode = [statuscode string]
                        ^DroidEngine.StatusInfo = [statusinfo]
                        

            See DEngineCommandProcessor.setStatusVars().

            The TestComplete Engine (TCAFS) also persists these values as SAFS variables.

                        
                        ^TCAFS.Command    = [command]
                        ^TCAFS.StatusCode = [statuscode string]
                        ^TCAFS.StatusInfo = [statusinfo]
                        ^TCAFS.FullName   = [object.FullName] -- the TestObjects.FullName string--if command returns only 1 reference.
                        


            Fields: [ ]=Optional with Default Value
            1. Component
              An object reference or proxy reference to the component.

              A reference to a particular component previously returned from a call to getTopLevelWindows, getChildren, or one of the other engine commands that return such references.

            Examples:
            [How To Read This Reference]

            EngineComponentCommands::SetActiveWindow
            TC DRD RJ

            Make the component the active (topmost?) Window or Component.

            Normally, this is only valid for window or child window components. There is currently nothing defined to be returned by this command.

            The Android Engine also persists these values as SAFS variables.

                        ^DroidEngine.Command    = [command]
                        ^DroidEngine.StatusCode = [statuscode string]
                        ^DroidEngine.StatusInfo = [statusinfo]
                        

            See DEngineCommandProcessor.setStatusVars().

            The TestComplete Engine (TCAFS) also persists these values as SAFS variables.

                        
                        ^TCAFS.Command    = [command]
                        ^TCAFS.StatusCode = [statuscode string]
                        ^TCAFS.StatusInfo = [statusinfo]
                        ^TCAFS.FullName   = [object.FullName] -- the TestObjects.FullName string--if command returns only 1 reference.
                        


            Fields: [ ]=Optional with Default Value
            1. Component
              An object reference or proxy reference to the component.

              A reference to a particular component previously returned from a call to getTopLevelWindows, getChildren, or one of the other engine commands that return such references.

            Examples:
            [How To Read This Reference]