WindowFunctions

Last Updated:

Actions for working with Window objects


[How To Read This Reference]
Click
WR
Deprecated For:GenericObject Click
CloseWindow
RC RJ WR SE SE2 TC AUT
Sends a Close command to the active window.
CompareStoredProperties
WR
Deprecated For:GenericObject CompareStoredProperties
DoubleClick
WR
Deprecated For:GenericObject DoubleClick
GetWinInfo
WR
Gets the value of any property in a window.
GoBack
DRD
Make the application\device "go back" to the previous state or window.
InputCharacters
WR
Deprecated For:GenericMaster InputCharacters
InputKeys
WR
Deprecated For:GenericMaster InputKeys
Maximize
RC RJ WR SE TC SE2 AUT
Sends a WMaximize command to the active window.
Minimize
RC RJ WR SE TC SE2 AUT
Sends a WMinimize command to the active window.
PinchClose
IOS
Perform a shrinking "zoom out" operation on a touchscreen device supporting the feature.
PinchOpen
IOS
Perform an expanding "zoom in" operation on a touchscreen device supporting the feature.
Restore
RC RJ WR SE TC SE2 AUT
Sends a RestorePos command to the active window.
RightClick
WR
Deprecated For:GenericObject RightClick
SelectMenuID
RC WR
Attempts to select a particular menuitem by menuID.
SelectMenuItem
RC RJ WR
Attempts to select a particular text string menuitem.
SelectMenuItemContains
RC RJ WR
Attempts to select a menuitem based on a partial text match.
SetFocus
SE
Set focus on the window.
SetPosition
RC RJ WR SE TC SE2 AUT
Sends a SetPosition command to the window to set the position, size, and status of the window.
VerifyImage
RC WR
Performs a WindowVP CompareImage OR a RegionImageVP on an object.
VerifyMainMenu
RC WR
Compares the active windows menu system with a benchmark
VerifyMenuID
RC WR
Attempts to verify the state information of a particular menuitem identified by MenuID.
VerifyMenuItem
RC RJ WR
Attempts to verify the state information of a particular text string menuitem.
VerifyMenuItemContains
RC RJ WR
Attempts to verify the state information of a menuitem found by partial text match.
VerifyOCRValue
RC WR
Performs an UNLOGGED WindowVP CompareImage OR a RegionImageVP on an object then attempts to retrieve and compare OCR text to the expected value provided.

WindowFunctions::Click (deprecated for: GenericObject Click)
WR

Performs a click on any part of a Window based on a stored x,y coordinate.

For components that are unrecognized, like ActiveToolbar menuitems, we can click on these or any part of a Window based on a stored x,y coordinate. The window containing the coordinate is first given context and then a click is generated at the coordinate. Thus, an item or object can be referenced by name even though it is only recognized via coordinates.

The coordinate lookup is done with the component name of the record AND Field #5.

Typical Data Table records:

(1) t MainWindow MainWindow Click AnObject
(2) t MainWindow FileMenu Click Exit

#1 above will contain an AnObject="3,10" entry in the MainWindow section of the Application Map to click at x=3, y=10 in the MainWindow.

#2 above will contain a FileMenu entry in the MainWindow section with normal recognition information for it (the type, however, should still be "Window" even if unspecified). FileMenu will also have it's own section in the Application Map in which there will be an entry like Exit="15,30". This will tell Robot to locate the FileMenu Window object and click at the coordinates specified by the reference.



Fields: [ ]=Optional with Default Value
  1. AppMapSubkey
    Name of the AppMap subkey to lookup and use for the click.

    Name of the AppMap subkey to lookup and use for the click. We expect the AppMap to contain the item in the format "x,y":

    [FileMenu] Exit=33,120 OR Exit=Coords=33,120

    The results from the lookup are appended to the "Coords=" string used by the Window Click command in Robot (if necessary). So any valid content used with the Window Click command can be part of this AppMap entry.

    Both Fields #3 and #5 are used to locate the item in the App Map. This routine does not specify an App Map so only the current Map is used and it is expected to be valid.



Examples:
  • T, WINDOW, WINDOW, CLICK, AnObject
    A single-click is performed on the WINDOW at the location referenced in the App Map for AnObject.

    A reference identified in the Application Map identifying coordinates on which to click. AnObject which will be found in the Application Map as a referenced item in the MainWindow section.

  • T, WINDOW, AnObject, CLICK, ASubObject
    A single-click is performed on the WINDOW at the location referenced in the App Map.

    A reference identified in the Application Map identifying coordinates on which to click. AnObject as a viable object in the MainWindow but that it also has its own section in the Application Map which contains one or more named references like ASubObject which are used for test.

[How To Read This Reference]

WindowFunctions::CloseWindow
RC RJ WR SE SE2 TC AUT

Sends a Close command to the active window.

This Window command has a problem in that it does not want to use the same recognition methods used by the other Window commands (like SetContext). Particularly, it does not accept the Type=Window portion of these recognition methods. In addition, if the window is a child window of a parent then it expects the ";ChildWindow" add-on in the recognition method. The child may also need the parent as part of its full recognition string like:

ChildWindow=Type=Window;<parent rec>;\;Caption=<caption>;ChildWindow

To handle these child windows, we parse the typical recognition method for our window and attempt to handle these issues. Once SetContext has successfully set our window, we then remove any "Type=Window" substring if present and add the ";ChildWindow" substring if not present.

To take advantage of this, this routine must be called with the child window as a component of the parent window like below:

t, ParentWindow, ChildWindow, CloseWindow

If the routine is called like either of the examples below then default processing will occur. This will merely SetContext on the provided Window and use "CurrentWindow" as the parameter to the command.

t, ParentWindow, ParentWindow, CloseWindow
t, ChildWindow , ChildWindow , CloseWindow (normally won't work)

Closes the "current" or "lastUsed" WebDriver associated with the found Window component.


Fields: [ ]=Optional with Default Value
    Examples:
    • T, WINDOW, WINDOW, CLOSEWINDOW
      Sends a CloseWindow command to the specified Window

      Sends a CloseWindow command to the specified Window

    [How To Read This Reference]

    WindowFunctions::CompareStoredProperties (deprecated for: GenericObject CompareStoredProperties)
    WR

    Performs a WindowVP CompareProperties on an object.

    Performs a WindowVP CompareProperties on an object. The benchmark VP must already exist and be an asset of the currently running script.

    To make an existing VP an asset of the current script, the existing script, e.g.,

    MADHATTERScript.MyObjectVP.base.OBP

    can be copied and renamed to

    MyDDScript.MyObjectVP.base.OBP

    where MyDDScript is the name of the current script.

    The name of the actual VP, MyObjectVP, cannot be altered.

    Example 1: Perform a WindowVP on a given window

    t, MainWindow, MainWindow, CompareStoredProperties, MainSetupVP1



    Fields: [ ]=Optional with Default Value
    1. VPAsset
      Name of the pre-existing VP asset stored in the currently running script.


    Examples:
    • T, WINDOW, WINDOW, COMPARESTOREDPROPERTIES, "AStoredVP"
      This action performs a WindowVP CompareProperties on the WINDOW object against "AStoredVP".

      This action performs a WindowVP CompareProperties on the WINDOW object against "AStoredVP". The name of the stored CompareProperties VP which must exist as an asset of the currently running script.

    [How To Read This Reference]

    WindowFunctions::DoubleClick (deprecated for: GenericObject DoubleClick)
    WR

    Performs a double-click on any part of a Window based on a stored x,y coordinate.

    For components that are unrecognized, like ActiveToolbar menuitems, we can double click on these or any part of a Window based on a stored x,y coordinate. The window containing the coordinate is first given context and then a double click is generated at the coordinate. Thus, an item or object can be referenced by name even though it is only recognized via coordinates.

    The coordinate lookup is done with the component name of the record AND Field #5.

    Typical Data Table records:

    (1) t MainWindow MainWindow DoubleClick AnObject
    (2) t MainWindow FolderTree DoubleClick Node1

    #1 above will contain an AnObject="3,10" entry in the MainWindow section of the Application Map to double click at x=3, y=10 in the MainWindow.

    #2 above will contain a FolderTree entry in the MainWindow section with normal recognition information for it . FolderTree will also have it's own section in the Application Map in which there will be an entry like Node1="15,30". This will tell Robot to locate the FolderTree object and double click at the coordinates specified by the reference.



    Fields: [ ]=Optional with Default Value
    1. AppMapSubkey
      Name of the AppMap subkey to lookup and use for the double-click.

      Name of the AppMap subkey to lookup and use for the double-click. We expect the AppMap to contain the item in the format "x,y":

      [FileMenu] Exit=33,120 OR Exit=Coords=33,120

      The results from the lookup are appended to the "Coords=" string used by the Window DBLClick command in Robot (if necessary). So any valid content used with the Window DBLClick command can be part of this AppMap entry.

      Both Fields #3 and #5 are used to locate the item in the App Map. This routine does not specify an App Map so only the current Map is used and it is expected to be valid.



    Examples:
    • T, WINDOW, WINDOW, DOUBLECLICK, AnObject
      A double-click is performed on the WINDOW at the location referenced in the App Map for AnObject.

      A reference identified in the Application Map identifying coordinates on which to double-click. AnObject which will be found in the Application Map as a referenced item in the MainWindow section.

    • T, WINDOW, AnObject, DOUBLECLICK, ASubObject
      A double-click is performed on the WINDOW at the location referenced in the App Map.

      A reference identified in the Application Map identifying coordinates on which to double-click. AnObject as a viable object in the MainWindow but that it also has its own section in the Application Map which contains one or more named references like ASubObject which are used for test.

    [How To Read This Reference]

    WindowFunctions::GetWinInfo
    WR

    Gets the value of any property in a window.

    Gets the value of any property in a window and assigns that property to a variable for later use.



    Fields: [ ]=Optional with Default Value
    1. PropertyName
      The name of the property to retrieve.


    2. VariableName
      The name of the variable that the property value should be stored in.


    Examples:
    • T, WINDOWNAME, WINDOWNAME, GETWININFO, Caption, ^TitleValue
      The caption of the window is stored in the variable ^TitleValue


    [How To Read This Reference]

    WindowFunctions::GoBack
    DRD

    Make the application\device "go back" to the previous state or window.

    This is largely for apps or devices--like mobile devices--that have the ability to "go back" that might be activated by a control that is NOT always part of the application GUI. Example: a hardware "back" button or menu button that is not part of the application itself.

    Depending upon the technology implementation, The WINDOWNAME may not have to be valid or exist at the time of invocation. That is, the WINDOWNAME and COMPNAME fields might not be used and can contain anything.



    Fields: [ ]=Optional with Default Value
      Examples:
      • T, WINDOWNAME, WINDOWNAME, GoBack
        The application or device should go back to a previous state or activity.


      • T, Anything, AtAll, GoBack
        The application or device should go back to a previous state or activity.

        This example might work if the implementation does not require any real GUI reference because the command does not act on an actual GUI component.

      [How To Read This Reference]

      WindowFunctions::InputCharacters (deprecated for: GenericMaster InputCharacters)
      WR

      Sends literal text to the active window via an InputChars command.

      Sends literal text to the active window via an InputChars command. The InputChars command does not convert or interpret any special characters like InputKeys (InputKeystrokes) does.

      Fields: [ ]=Optional with Default Value
      1. TextValue
        String of keystrokes to send.

        String of keystrokes to send. Consult the documentation on the SQA InputKeys command for syntax information for special characters and keys. This routine sends the provided string unmodified to the InputKeys command.

      Examples:
      • T, WINDOW, WINDOW, INPUTCHARACTERS, "Some Text to Input"
        This action sends "Some Text to Input" as keystrokes to the WINDOW object.

        Field 5 : TQ String. Case-sensitive text to send to the specified window. The text will be sent as literal text, unmodified by the command

      [How To Read This Reference]

      WindowFunctions::InputKeys (deprecated for: GenericMaster InputKeys)
      WR

      Sends keystrokes to the active window via an InputKeys command.

      Sends keystrokes to the active window via an InputKeys command.

      Fields: [ ]=Optional with Default Value
      1. TextValue
        String of keystrokes to send.

        String of keystrokes to send. Consult the documentation on the SQA InputKeys command for syntax information for special characters and keys. This routine sends the provided string unmodified to the InputKeys command.

      Examples:
      • T, WINDOW, WINDOW, INPUTKEYS, "Some Text to Input"
        This action sends "Some Text to Input" as keystrokes to the WINDOW object.

        Field 5 : TQ String. case-sensitive text to send to the specified window.

        Some Special Characters: {Enter}= ENTER key {Tab} = TAB key ^ = CONTROL Key with another key ( "^S" = CONTROL + s) %= ALT Key with another key ("%F" = ALT + F) + = SHIFT key with another key ("+{Enter}" = SHIFT + ENTER) Currently, we pass-thru to the underlying implementation (Rational SQABasic). Any future implementations will also use the same syntax.



      [How To Read This Reference]

      WindowFunctions::Maximize
      RC RJ WR SE TC SE2 AUT

      Sends a WMaximize command to the active window.

      Sends a WMaximize command to the active window.

      This Window command has a problem in that it does not want to use the same recognition methods used by the other Window commands (like SetContext). Particularly, it does not accept the Type=Window portion of these recognition methods. In addition, if the window is a child window of a parent then it expects the ";ChildWindow" add-on in the recognition method. The child may also need the parent as part of its full recognition string like:

      ChildWindow=Type=Window;<parent rec>;\;Caption=<caption>;ChildWindow

      To handle these child windows, we parse the typical recognition method for our window and attempt to handle these issues. Once SetContext has successfully set our window, we then remove any "Type=Window" substring if present and add the ";ChildWindow" substring if not present.

      To take advantage of this, this routine must be called with the child window as a component of the parent window like below:

      t, ParentWindow, ChildWindow, Maximize

      If the routine is called like either of the examples below then default processing will occur. This will merely SetContext on the provided Window and use "CurrentWindow" as the parameter to the command.

      t, ParentWindow, ParentWindow, Maximize
      t, ChildWindow , ChildWindow , Maximize (normally won't work)



      Fields: [ ]=Optional with Default Value
        Examples:
        • T, WINDOW, WINDOW, MAXIMIZE
          Sends a Maximize command to the specified Window.

          Sends a Maximize command to the specified Window.

        [How To Read This Reference]

        WindowFunctions::Minimize
        RC RJ WR SE TC SE2 AUT

        Sends a WMinimize command to the active window.

        Sends a WMinimize command to the active window.

        This Window command has a problem in that it does not want to use the same recognition methods used by the other Window commands (like SetContext). Particularly, it does not accept the Type=Window portion of these recognition methods. In addition, if the window is a child window of a parent then it expects the ";ChildWindow" add-on in the recognition method. The child may also need the parent as part of its full recognition string like:

        ChildWindow=Type=Window;<parent rec>;\;Caption=<caption>;ChildWindow

        To handle these child windows, we parse the typical recognition method for our window and attempt to handle these issues. Once SetContext has successfully set our window, we then remove any "Type=Window" substring if present and add the ";ChildWindow" substring if not present.

        To take advantage of this, this routine must be called with the child window as a component of the parent window like below:

        t, ParentWindow, ChildWindow, Minimize

        If the routine is called like either of the examples below then default processing will occur. This will merely SetContext on the provided Window and use "CurrentWindow" as the parameter to the command.

        t, ParentWindow, ParentWindow, Minimize
        t, ChildWindow , ChildWindow , Minimize (normally won't work)



        Fields: [ ]=Optional with Default Value
          Examples:
          • T, WINDOW, WINDOW, MINIMIZE
            Sends a Minimize command to the specified Window.

            Sends a Minimize command to the specified Window.

          [How To Read This Reference]

          WindowFunctions::PinchClose
          IOS

          Perform a shrinking "zoom out" operation on a touchscreen device supporting the feature.

          Perform a shrinking "zoom out" operation on a touchscreen device supporting the feature.

          Effectively shrinks a user-defined rectangular area on the screen.

          IOS expects the Window/Component to be the main active Window of the application.



          Fields: [ ]=Optional with Default Value
          1. OriginSubKey
            The AppMapSubkey that contains the onscreen rectangle for the pinch operation.

            Name of the AppMap subkey to lookup and use for OriginRect or the actual literal text for the values.

            We expect the rectangle stored in the App Map or the literal text to be specified as integer rectangle coordinates and size in pixels: X,Y,Width,Height.

                           [AppWindow]
                           ...
                           Origin1="50,200,25,25"      OR
                           Origin2="Coords=100,75,125,125"
                           ...
                           

            Engines should attempt to support coordinates separated by alternate separators. The most common separators that should be supported would be:

            • "," (comma) Example: "50,200,25,25"
            • ";" (semi-colon) Example: "50;200;25;25"
            • " " (space) Example: "50 200 25 25"

            If the App Map does not contain the subkey item then the engines should assume the value is the literal text of the rectangle coordinate and size values.



          2. ResizeSubKey
            Name of the AppMap subkey to lookup for the resize value or the literal text of the resize values.

            Name of the AppMap subkey to lookup for the resize value or the literal text of the resize values.

            We expect the resize value stored in the App Map or the literal text to be specified as integer values (in pixels): +/-Width, +/-Height.

                           [AppWindow]
                           ...
                           Resize1="0,-50"   (no width change, but shrink the height by 50 pixels)  
                           Resize2="Coords=-40,0" (shrink width by 40 pixels, with no change in height.)
                           ...
                           

            These resize offsets can be positive or negative integer values and will be added to the existing width and/or height of OrigRect.

            Engines should attempt to support values separated by alternate separators. The most common separators that should be supported would be:

            • "," (comma) Example: "0,50"
            • ";" (semi-colon) Example: "0;50"
            • " " (space) Example: "0 50"

            If the App Map does not contain the subkey item then the engines should assume the value is the literal text of the resize values.



          3. [ Duration = 1 ]
            The number of seconds to take for the operation.

            Where supported, the engine should attempt to make the operation take up to N seconds in duration. The default is 1 second.

          Examples:
          • T, AppWindow, AppWindow, PinchClose, Origin1, Resize2
            Pinch close the window by shrinking the Origin1 rectangle by the amounts specified in Resize2.

            Origin1 and Resize2 values are expected to be stored in the [AppWindow] section of the App Map since they are not proper literal text values. The operation will take the default 1 second.

          • T, AppWindow, AppWindow, PinchClose, Origin1, "-40;-40", 3
            Pinch close the window by shrinking the Origin1 rectangle 40 pixels in both width and height.

            Origin1 is expected to be stored in the [AppWindow] section of the App Map since it is not a proper literal text value. The operation will occur over 3 seconds.

          [How To Read This Reference]

          WindowFunctions::PinchOpen
          IOS

          Perform an expanding "zoom in" operation on a touchscreen device supporting the feature.

          Perform an expanding "zoom in" operation on a touchscreen device supporting the feature.

          Effectively expands or stretches a user-defined rectangular area on the screen.

          IOS expects the Window/Component to be the main active Window of the application.



          Fields: [ ]=Optional with Default Value
          1. OriginSubKey
            The AppMapSubkey that contains the onscreen rectangle for the pinch operation.

            Name of the AppMap subkey to lookup and use for OriginRect or the actual literal text for the values.

            We expect the rectangle stored in the App Map or the literal text to be specified as integer rectangle coordinates and size in pixels: X,Y,Width,Height.

                            [AppWindow]
                            ...
                            Origin1="50,200,25,25"      OR
                            Origin2="Coords=100,75,125,125"
                            ...
                            

            Engines should attempt to support coordinates separated by alternate separators. The most common separators that should be supported would be:

            • "," (comma) Example: "50,200,25,25"
            • ";" (semi-colon) Example: "50;200;25;25"
            • " " (space) Example: "50 200 25 25"

            If the App Map does not contain the subkey item then the engines should assume the value is the literal text of the rectangle coordinate and size values.



          2. ResizeSubKey
            Name of the AppMap subkey to lookup for the resize value or the literal text of the resize values.

            Name of the AppMap subkey to lookup for the resize value or the literal text of the resize values.

            We expect the resize value stored in the App Map or the literal text to be specified as integer values (in pixels): +/-Width, +/-Height.

                            [AppWindow]
                            ...
                            Resize1="0,50"   (no width change, but grow in height by 50 pixels)  
                            Resize2="Coords=50,0" (grow width by 50 pixels, with no change in height.)
                            ...
                            

            These resize offsets can be positive or negative integer values and will be added to the existing width and/or height of OrigRect.

            Engines should attempt to support values separated by alternate separators. The most common separators that should be supported would be:

            • "," (comma) Example: "0,50"
            • ";" (semi-colon) Example: "0;50"
            • " " (space) Example: "0 50"

            If the App Map does not contain the subkey item then the engines should assume the value is the literal text of the resize values.



          3. [ Duration = 1 ]
            The number of seconds to take for the operation.

            Where supported, the engine should attempt to make the operation take up to N seconds in duration. The default is 1 second.

          Examples:
          • T, AppWindow, AppWindow, PinchOpen, Origin1, Resize1
            Pinch open (zoom) the window by stretching the Origin1 rectangle by the amounts specified in Resize1.

            Origin1 and Resize1 values are expected to be stored in the [AppWindow] section of the App Map since they are not proper literal text values. The operation will take the default 1 second.

          • T, AppWindow, AppWindow, PinchOpen, Origin1, "40;40", 3
            Pinch open (zoom) the window by stretching the Origin1 rectangle 40 pixels in both width and height.

            Origin1 is expected to be stored in the [AppWindow] section of the App Map since it is not a proper literal text value. The operation will occur over 3 seconds.

          [How To Read This Reference]

          WindowFunctions::Restore
          RC RJ WR SE TC SE2 AUT

          Sends a RestorePos command to the active window.

          Sends a RestorePos command to the active window.

          This Window command has a problem in that it does not want to use the same recognition methods used by the other Window commands (like SetContext). Particularly, it does not accept the Type=Window portion of these recognition methods. In addition, if the window is a child window of a parent then it expects the ";ChildWindow" add-on in the recognition method. The child may also need the parent as part of its full recognition string like:

          ChildWindow=Type=Window;<parent rec>;\;Caption=<caption>;ChildWindow

          To handle these child windows, we parse the typical recognition method for our window and attempt to handle these issues. Once SetContext has successfully set our window, we then remove any "Type=Window" substring if present and add the ";ChildWindow" substring if not present.

          To take advantage of this, this routine must be called with the child window as a component of the parent window like below:

          t, ParentWindow, ChildWindow, Restore

          If the routine is called like either of the examples below then default processing will occur. This will merely SetContext on the provided Window and use "CurrentWindow" as the parameter to the command.

          t, ParentWindow, ParentWindow, Restore
          t, ChildWindow , ChildWindow , Restore (normally won't work)



          Fields: [ ]=Optional with Default Value
            Examples:
            • T, WINDOW, WINDOW, RESTORE
              Sends a Restore command to the specified Window.

              Sends a Restore command to the specified Window.

            [How To Read This Reference]

            WindowFunctions::RightClick (deprecated for: GenericObject RightClick)
            WR

            Performs a right-click on any part of a Window based on a stored x,y coordinate.

            For components that are unrecognized, like ActiveToolbar menuitems, we can right click on these or any part of a Window based on a stored x,y coordinate. The window containing the coordinate is first given context and then a right click is generated at the coordinate. Thus, an item or object can be referenced by name even though it is only recognized via coordinates.

            The coordinate lookup is done with the component name of the record AND Field #5.

            Typical Data Table records:

            (1) t MainWindow MainWindow RightClick AnObject
            (2) t MainWindow ToolItem RightClick PrintTool

            #1 above will contain an AnObject="3,10" entry in the MainWindow section of the Application Map to right click at x=3, y=10 in the MainWindow.

            #2 above will contain a ToolItem entry in the MainWindow section with normal recognition information for it . ToolItem will also have it's own section in the Application Map in which there will be an entry like PrintTool="15,30". This will tell Robot to locate the PrintTool Window object and right click at the coordinates specified by the reference.



            Fields: [ ]=Optional with Default Value
            1. AppMapSubkey
              Name of the AppMap subkey to lookup and use for the right-click.

              Name of the AppMap subkey to lookup and use for the right-click. We expect the AppMap to contain the item in the format "x,y":

              [FileMenu] Exit=33,120 OR Exit=Coords=33,120

              The results from the lookup are appended to the "Coords=" string used by the Window Right_Click command in Robot (if necessary). So any valid content used with the Window Right_Click command can be part of this AppMap entry.

              Both Fields #3 and #5 are used to locate the item in the App Map. This routine does not specify an App Map so only the current Map is used and it is expected to be valid.



            Examples:
            • T, WINDOW, WINDOW, RIGHTCLICK, AnObject
              A right-click is performed on the WINDOW at the location referenced in the App Map for AnObject.

              A reference identified in the Application Map identifying coordinates on which to right-click. AnObject which will be found in the Application Map as a referenced item in the MainWindow section.

            • T, WINDOW, AnObject, RIGHTCLICK, ASubObject
              A right-click is performed on the WINDOW at the location referenced in the App Map.

              A reference identified in the Application Map identifying coordinates on which to right-click. AnObject as a viable object in the MainWindow but that it also has its own section in the Application Map which contains one or more named references like ASubObject which are used for test.

            [How To Read This Reference]

            WindowFunctions::SelectMenuID
            RC WR

            Attempts to select a particular menuitem by menuID.

            Attempts to select a particular menuitem by menuID. This is generally used when the menuitem is a bitmap or other item that does not have text. This value can be retrieved from the the menu by index or by manual lookup from a menu structure output from MenuUtilities. The routine first verifies that the specified menuitem exists and exits with error if it does not. If it does exist then the selection proceeds.

            Fields: [ ]=Optional with Default Value
            1. MenuID
              MenuID to identify which menuitem to select.

              MenuID to identify which menuitem to select.

            Examples:
            • T, WINDOW, WINDOW, SELECTMENUID, 37
              This actions selects menuid 37.

              Field 5 : TQ String. numeric menu ID of the menu item to select. This is generally only used when the menu item has no displayed text.

            [How To Read This Reference]

            WindowFunctions::SelectMenuItem
            RC RJ WR

            Attempts to select a particular text string menuitem.

            Attempts to select a particular text string menuitem. The menuitem should be specified in the form "Menu->Menu->MenuItem CTRL+V" with the full text, spaces(if any), and keyboard shortcut text (if any).

            Ampersands preceding underlined characters are optional. The routine first verifies that the specified menuitem exists and exits with error if it does not. If it does exist then the selection proceeds using the MenuID retrieved from the found menuitem.



            Fields: [ ]=Optional with Default Value
            1. TextValue
              Menu->MenuItem hierarchy string to identify which menuitem to select.

              Menu->MenuItem hierarchy string to identify which menuitem to select. NOTE:RC (Robot) can only handle submenus up to 5 levels deep.

            Examples:
            • T, WINDOW, WINDOW, SELECTMENUITEM, "&File->&Save Ctrl+S"
              This actions selects the Save menuitem under the File menu pulldown.

              Field 5 : TQ String. the full case-sensitive menu item path to select. Ampersands (&) indicating/preceding underlined characters are optional. The text must include the full text including spaces and any visible shortcut key combinations displayed in the text of the menu item. The menu does not have to be open to issue the command. Just issue the command from a normal state. This command only works if the Window implements standard menus. Use InputKeys or Window Click commands to use non-standard menus or to navigate individual menu panels.

            • T, PopupMenu, PopupMenu, SELECTMENUITEM, "Exit"
              This actions selects the Exit menuitem from an exposed File popup menu.

              Field 5 : TQ String. the full case-sensitive menu item path to select. Ampersands (&) indicating/preceding underlined characters are optional. The text must include the full text including spaces and any visible shortcut key combinations displayed in the text of the menu item. For a popup menu, the menu does have to be exposed to be found. This command only works if the Window implements standard menus. Use InputKeys or Window Click commands to use non-standard menus or to navigate individual menu panels.

            [How To Read This Reference]

            WindowFunctions::SelectMenuItemContains
            RC RJ WR

            Attempts to select a menuitem based on a partial text match.

            Attempts to select a menuitem based on a partial text match. The menuitem should be specified in the form "Menu->Menu->MenuItem". Each level in the hierarchy can be represented by partial text.

            Ampersands preceding underlined characters are optional. The routine first verifies that the specified menuitem exists and exits with error if it does not. If it does exist then the selection proceeds using the MenuID retrieved from the found menuitem.



            Fields: [ ]=Optional with Default Value
            1. TextValue
              Menu->MenuItem hierarchy string to identify which menuitem to select.

              Menu->MenuItem hierarchy string to identify which menuitem to select. NOTE:RC (Robot) can only handle submenus up to 5 levels deep.

            Examples:
            • T, WINDOW, WINDOW, SELECTMENUITEMCONTAINS, "&File->&Save"
              This actions selects the Save menuitem under the File menu pulldown.

              Field 5 : TQ String. the case-sensitive menu item path to select. Ampersands (&) indicating/preceding underlined characters are optional. The menu does not have to be open to issue the command. Just issue the command from a normal state. This command only works if the Window implements standard menus. Use InputKeys or Window Click commands to use non-standard menus or to navigate individual menu panels.

            • T, PopupMenu, PopupMenu, SELECTMENUITEMCONTAINS, "x"
              This actions selects the Exit menuitem from an exposed File popup menu.

              Field 5 : TQ String. the case-sensitive menu item path to select. Ampersands (&) indicating/preceding underlined characters are optional. For a popup menu the menu does have to be exposed to be able to select its menuitems. This command only works if the Window implements standard menus. Use InputKeys or Window Click commands to use non-standard menus or to navigate individual menu panels.

            [How To Read This Reference]

            WindowFunctions::SetFocus
            SE

            Set focus on the window.

            Set focus and bring the window forward.

            Bring the window forward. If there are same name/caption/title windows then the first window will come forward. The window is find by title.



            Fields: [ ]=Optional with Default Value
              Examples:
              • T, WINDOW, WINDOW, SETFOCUS
                Set focus on the specified Window.

                Set focus on the specified Window.

              [How To Read This Reference]

              WindowFunctions::SetPosition
              RC RJ WR SE TC SE2 AUT

              Sends a SetPosition command to the window to set the position, size, and status of the window.

              Sends a SetPosition command to the window to set the position, size, and status of the window. The position, size, and status information is stored in the app map as a subitem in the section for the window. The information should be in the format of:

              "0,0,640,480;Status=NORMAL" OR "Coords=0,0,640,480;Status=NORMAL"

              That example positions the window at 0,0; sizes it to 640 x 480, and sets it's status to NORMAL. Valid values for STATUS are:

              NORMAL, MINIMIZED, and MAXIMIZED

              The Window SetPosition command has a problem in that it does not want to use the same recognition methods used by the other Window commands (like SetContext). Particularly, it does not accept the Type=Window portion of these recognition methods. In addition, if the window is a child window of a parent then it expects the ";ChildWindow" add-on in the recognition method. The child may also need the parent as part of its full recognition string like:

              ChildWindow=Type=Window;<parent rec>;\;Caption=<caption>;ChildWindow

              To handle these child windows, we parse the typical recognition method for our window and attempt to handle these issues. Once SetContext has successfully set our window, we then remove any "Type=Window" substring if present and add the ";ChildWindow" substring if not present.

              To take advantage of this, this routine must be called with the child window as a component of the parent window like below:

              t, ParentWindow, ChildWindow, SetPosition, ChildPositionReference

              If the routine is called like either of the examples below then default processing will occur. This will merely SetContext on the provided Window and use "CurrentWindow" as the parameter to SetPosition.

              t, ParentWindow, ParentWindow, SetPosition, ParentPosition
              t, ChildWindow , ChildWindow , SetPosition, ChildPosition (normally won't work)



              Fields: [ ]=Optional with Default Value
              1. PresetReference
                String specifying a preset reference in the Application for the position, size, and state of the Window.

                String specifying a preset reference in the Application for the position, size, and state of the Window. command.

              Examples:
              • T, WINDOW, WINDOW, SETPOSITION, Preset1
                Preset1 specifies a preset reference in the Application for the position, size, and state of the Window.

                Field 5 : TQ String specifying a preset reference in the Application for the position, size, and state of the Window.

              [How To Read This Reference]

              WindowFunctions::VerifyImage
              RC WR

              Performs a WindowVP CompareImage OR a RegionImageVP on an object.

              Performs a WindowVP CompareImage OR a RegionImageVP on an object. The benchmark VP must already exist and be an asset of the currently running script.

              A RegionImageVP can be accomplished by having the name of the VP as an item under the component in the application map. The item's value must be the coordinate values required by the RegionImageVP (i.e. "65,100,200,250").

              Example 1: Perform a WindowVP CompareImage

              MainWindow SomeWindowObject VerifyImage StoredVP

              (no StoredVP item found in the app map under SomeWindowObject)

              The named VP (StoredVP) must not exist in the application map. The entire panel/object of SomeWindowObject will be captured and compared against the StoredVP baseline which must already exist as an asset of the currently running script.

              Example 2: Perform a RegionImageVP on a particular area of the screen

              MainWindow SomeWindowObject VerifyImage StoredVP

              (StoredVP found as:

              "65,100,200,250" OR "Coords=65,100,200,250"

              in the SomeWindowObject section of the app map)

              The named VP (StoredVP) is found to exist in the application map as a subitem in the SomeWindowObject section of the map. This causes the routine to attempt a RegionImageVP using the map's value of the StoredVP item as the coordinates for the region to capture. StoredVP is ALSO the name of the VP which must already exist as an asset of the currently running script.



              Fields: [ ]=Optional with Default Value
              1. VPAsset
                TextValue is the name of the pre-existing VP asset stored in the currently running script.

                TextValue is the name of the pre-existing VP asset stored in the currently running script. If the name also exists in the app map under the component then a RegionImageVP will be attempted.

              Examples:
              • T, WINDOW, WINDOW, VERIFYIMAGE, "AStoredVP"
                This action performs a WindowVP CompareImage OR a RegionImageVP on the WINDOW object against "AStoredVP".

                The name of a stored VP which must exist as an asset of the currently running script. Normally, a straight Robot CompareImage of the entire Window would be performed. However, if the AStoredVP value given exists in the Application Map as a reference under the provided Window object then a RegionImage test will be attempted instead.

              [How To Read This Reference]

              WindowFunctions::VerifyMainMenu
              RC WR

              Compares the active windows menu system with a benchmark

              Retrieves the active windows menu system and outputs the full structure with status to a file. It then compares that file with the specified benchmark file and sets pass/fail conditions for the test.

              Fields: [ ]=Optional with Default Value
              1. BenchmarkFile
                name.ext of benchmark file on repositiory's Datapool\Bench directory


              2. [ DescriptiveText = ]
                Optional expected descriptive text at start of file (first line of bench).

                Optional expected descriptive text at start of file (first line of bench). (If bench has this descriptive text this field is REQUIRED to pass.)

              3. [ TestFile = ]
                optional name.ext to give current structure in repository's Datapool\Test directory for compare with benchmark.

                optional name.ext to give current structure in repository's Datapool\Test directory for compare with benchmark. If no name is given then the bench name is used.

              4. [ DiffFile = ]
                Optional name.ext to store difference information

                Optional name.ext to store difference information in repository's Datapool\Dif. If no name is given then the bench name is used.

              Examples:
              • T, WINDOW, WINDOW, VERIFYMAINMENU, "BenchFile.ext"
                The WINDOW menu system is verified against "BenchFile.ext"

                The filename of the benchmark file to use in the comparison. Currently, this is expected to be in the Project's Datapool\Bench directory.

              • T, WINDOW, AnObject, VERIFYMAINMENU, "BenchFile.ext", "Descriptive Text"
                The WINDOW menu system is verified against "BenchFile.ext"

                The case-sensitive descriptive text in the benchmark file preceding the menu structure. If there is none, then this field should be missing, blank, or "". (If bench has this descriptive text this field is REQUIRED to pass.)

              • T, WINDOW, AnObject, VERIFYMAINMENU, "BenchFile.ext", "Descriptive Text", "TestFile.ext"
                The WINDOW menu system is verified against "BenchFile.ext"

                TestFile.ext to give the current menu structure output that is to be evaluated against the benchmark. If this field is missing, blank, or "" then the provided BenchFile.ext will be used. This file is stored in the Project's Datapool\Test directory.

              • T, WINDOW, AnObject, VERIFYMAINMENU, "BenchFile.ext", , "TestFile.ext", "DiffFile.ext"
                The WINDOW menu system is verified against "BenchFile.ext"

                "DiffFile.ext" to give the diff file created after the comparison is complete. If this field is missing, blank, or "" then the provided BenchFile.ext will be used. This file is stored in the Project's Datapool\Dif directory.

              [How To Read This Reference]

              WindowFunctions::VerifyMenuID
              RC WR

              Attempts to verify the state information of a particular menuitem identified by MenuID.

              Attempts to verify the state information of a particular menuitem identified by MenuID. This is generally used when the menuitem is a bitmap or other item that does not have text. This value can be retrieved from the the menu by index or by manual lookup from a menu structure output from MenuUtilities.

              Fields: [ ]=Optional with Default Value
              1. MenuID
                MenuID to identify which menuitem to test.

                MenuID to identify which menuitem to test. This is generally used when the menuitem is a bitmap or other item that does not have text. This value can be retrieved from the the menu by index or by manual lookup from a menu structure output from MenuUtilities.

              2. ExpectedStatus
                Expected status string (or part thereof) to verify.

                Expected status string (or part thereof) to verify. Ex: "Enabled Checked" OR "Disabled Grayed" etc. Each item separated by a space will be evaluated separately so the order of the status items does not matter. These status items ARE case-sensitive.

              Examples:
              • T, WINDOW, WINDOW, VERIFYMENUID, 37,"Enabled Checked"
                This action verifies that the menuid 37 is enabled checked

                Field 5 : TQ String. the full case-sensitive menu item path to select. Ampersands (&) indicating/preceding underlined characters are optional. The text must include the full text including spaces and any visible shortcut key combinations displayed in the text of the menu item.

                Field 6 : QS String. The case-sensitive, space-delimited, double-quote enclosed status information needing verification. Only the state information of interest needs to be specified.



              [How To Read This Reference]

              WindowFunctions::VerifyMenuItem
              RC RJ WR

              Attempts to verify the state information of a particular text string menuitem.

              Attempts to verify the state information of a particular text string menuitem. The menuitem should be specified in the form "Menu->Menu->MenuItem CTRL+V" with the full text (ampersands optional), spaces(if any), and keyboard shortcut text (if any). (The ampersands precede any character in the menuitem that is underlined.)

              Note 1: This command differs from JavaMenuFunctions.VerifyMenuItemContains as this command seeks a Window object that contains a Window's menu.

              Note 2: For RobotJ engine, this command only supports JavaSwing. It may support other clients in the future.



              Fields: [ ]=Optional with Default Value
              1. MenuItemText
                Menu->MenuItem hierarchy string to identify which menuitem to test.

                Menu->MenuItem hierarchy string to identify which menuitem to test. This menu hierarchy IS case-sensitive

              2. ExpectedStatus
                Expected status string (or part thereof) to verify.

                Expected status string (or part thereof) to verify. Ex: "Enabled Checked" OR "Disabled Grayed" etc. Each item separated by a space will be evaluated separately so the order of the status items does not matter. These status items ARE case-sensitive.

              Examples:
              • T, WINDOW, WINDOW, VERIFYMENUITEM, "File","Enabled Menu With 7 MenuItems"
                This action verifies that "File" is enabled and contains 7 menuitems.

                Field 5 : TQ String. the full case-sensitive menu item path to select. Ampersands (&) indicating/preceding underlined characters are optional. The text must include the full text including spaces and any visible shortcut key combinations displayed in the text of the menu item.

                Field 6 : QS String. The case-sensitive, space-delimited, double-quote enclosed status information needing verification. Only the state information of interest needs to be specified.



              [How To Read This Reference]

              WindowFunctions::VerifyMenuItemContains
              RC RJ WR

              Attempts to verify the state information of a menuitem found by partial text match.

              Attempts to verify the state information of a menuitem found by partial text match. The menuitem should be specified in the form "Menu->Menu->MenuItem". (Optional ampersands precede any character in the menuitem that is underlined.)

              Note 1: This command differs from JavaMenuFunctions.VerifyMenuItemContains as this command seeks a Window object that contains a Window's menu.

              Note 2: For RobotJ engine, this command only supports JavaSwing. It may support other clients in the future.



              Fields: [ ]=Optional with Default Value
              1. MenuItemText
                Menu->MenuItem hierarchy string to identify which menuitem to test.

                Menu->MenuItem hierarchy string to identify which menuitem to test. This menu hierarchy IS case-sensitive

              2. ExpectedStatus
                Expected status string (or part thereof) to verify.

                Expected status string (or part thereof) to verify. Ex: "Enabled Checked" OR "Disabled Grayed" etc. Each item separated by a space will be evaluated separately so the order of the status items does not matter. These status items ARE case-sensitive.

              Examples:
              • T, WINDOW, WINDOW, VERIFYMENUITEMCONTAINS, "File->Save","Enabled"
                This action verifies that menuitem "File/Save" is enabled.

                Field 5 : TQ String. the case-sensitive menu item path to select. Ampersands (&) indicating/preceding underlined characters are optional. The text can be any substring of the full text including spaces and any visible shortcut key combinations displayed in the text of the menu item.

                Field 6 : QS String. The case-sensitive, space-delimited, double-quote enclosed status information needing verification. Only the state information of interest needs to be specified.



              [How To Read This Reference]

              WindowFunctions::VerifyOCRValue
              RC WR

              Performs an UNLOGGED WindowVP CompareImage OR a RegionImageVP on an object then attempts to retrieve and compare OCR text to the expected value provided.

              Performs an UNLOGGED WindowVP CompareImage OR a RegionImageVP on an object then attempts to retrieve and compare OCR text to the expected value provided. The benchmark VP must already exist and be an asset of the currently running script.

              A RegionImageVP can be accomplished by having the name of the VP as an item under the component in the application map. The item's value must be the coordinate values required by the RegionImageVP (i.e. "Coords=65,100,200,250").

              EXAMPLE 1 : Perform a WindowVP CompareImage before OCR Test

              t, MainWindow, SomeWindowObject, VerifyOCRValue, StoredVP, 1, "Expected Text"

              (no StoredVP item found in the app map under SomeWindowObject)

              The named VP (StoredVP) must not exist in the application map if you intend to compare the entire window. The entire panel/object of SomeWindowObject will be captured and compared against the StoredVP baseline. This VP must already exist as an asset of the currently running script.

              EXAMPLE 2 : Perform a RegionImageVP before the OCR test

              t, MainWindow, SomeWindowObject, VerifyOCRValue, StoredVP, DataField, "Expected Text"

              StoredVP found in Application Map like below:

              [SomeWindowObject] SomeWindowObject="Type=Something...." StoredVP="Coords=65,100,200,250" --- invokes a RegionImageVP ....

              When the named VP (StoredVP) is found to exist in the application map as a subitem in the SomeWindowObject section of the map then a RegionImageVP will be invoked using the value of the StoredVP item as the coordinates for the region to capture.

              StoredVP is ALSO the name of the VP which must already exist as an asset of the currently running script.

              Once the unlogged VP has been completed, we attempt to retrieve the text of a predefined OCR region mask that should exist in the VP.

              We can use the OCRRegion value provided from the inputrecord to identify the OCR mask number as needed by the SQAGetOcrRegionText function in Robot. Example 1 above shows we are looking for OCR region #1.

              The OCRRegion value in the inputrecord can also be a reference in the Application Map in a section with the same name as the VP as shown below.

              [SomeWindowObject] SomeWindowObject="Type=Something...." StoredVP="Coords=65,100,200,250" ....

              [StoredVP] DataField=1 AnotherField=2 ....

              Example 2 above shows that we have given region #1 a name of DataField.

              Once retrieved, the OCR text (if any) is compared against the expected results provided.



              Fields: [ ]=Optional with Default Value
              1. VPAsset
                VPTextValue is the name of the pre-existing VP asset stored in the currently running script.

                TextValue is the name of the pre-existing VP asset stored in the currently running script. If the name also exists in the app map under the component then a RegionImageVP will be invoked instead of a CompareImageVP.

              2. OCRIntegerValue
                IntegerValue is the numeric OCR region mask to get the text from.

                IntegerValue is the numeric OCR region mask to get the text from. These values are defined in the VP itself and can be viewed in Robot's ImageComparator/Editor. A number can be used directly or a named reference can be used if it is found to exist in the Application Map in a section with the same name as the VP.

              3. ExpectedTextValue
                Text baseline to compare against the retrieved OCR text.


              Examples:
              • T, LoginWindow, SomeWindowObject, VERIFYOCRVALUE, "AStoredVP", 1, "<Expected Value>"
                This action performs a WindowVP CompareImage OR a RegionImageVP on the window object then attempts to retrieve and compare OCR text to the expected value provided.

                The name of a stored VP which must exist as an asset of the currently running script. Normally, a straight Robot CompareImage of the entire Window would be performed. However, if the AStoredVP value given exists in the Application Map as a reference under the provided Window object then a RegionImage test will be attempted instead.

                The Numeric OCR region Number of the particular OCR text you are trying to compare. Valid values can be found when viewing the CompareImage or RegionImageVP baseline. A number can be used directly or a named reference can be used if it is found to exist in the Application Map in a Section with the same name as the VP.

                The expected value of the text we wish to compare against the retrieved OCR text.



              [How To Read This Reference]