GenericObjectFunctions

Last Updated:

Actions for working with GENERIC objects



[How To Read This Reference]
AltLeftDrag
RJ TC SE2
An ALT left mouse drag is performed on the object based on the stored coordinates.
Click
DRD RC RJ IOS TID WR TC ABT SE SE2 AUT
A single click on an object.
ClickScreenImage
TID
Same as Click.
ClickScreenLocation
TID
Click a specified screen location.
ClickScreenPoint
TID
Deprecated For:GenericObject ClickScreenLocation
CompareStoredData
RC
Performs a GenericObjectVP CompareData on an object.
CompareStoredProperties
RC WR
Performs a GenericObjectVP CompareProperties on an object.
CtrlAltLeftDrag
RJ TC SE2
CTRL ALT left mouse drag is performed on the object based on the stored coordinates.
CtrlClick
RC RJ WR TID TC ABT SE SE2 AUT
A CTRL-click on an object.
CtrlClickScreenImage
TID
Same as CtrlClick.
CtrlLeftDrag
RJ TC SE2
A CTRL left mouse drag is performed on the object based on the stored coordinates.
CtrlRightClick
RC TID RJ SE SE2
A CTRL-Right click on an object.
CtrlRightClickScreenImage
TID
Same as CtrlRightClick.
CtrlShiftLeftDrag
RJ TC SE2
A CTRL SHIFT left mouse drag is performed on the object based on the stored coordinates.
DoubleClick
RC RJ IOS TID TC WR ABT SE SE2 AUT
A double click on an object.
DoubleClickScreenImage
TID
Same as DoubleClick.
DoubleClickScreenLocation
TID
DoubleClick a specified screen location.
DoubleClickScreenPoint
TID
Deprecated For:GenericObject DoubleClickScreenLocation
DoubleTap
IOS
A double-tap on a touchscreen object. Use keyword "DoubleClick" syntax and parameters.
DragTo
TC SE2
A left mouse drag is performed from one object to another object based on the offsets values.
Flick
IOS
A user-defined flick or swipe on a touchscreen object.
FlickDown
IOS
A flick or swipe on a touchscreen object from top-to-bottom.
FlickLeft
IOS
A flick or swipe on a touchscreen object from right-to-left.
FlickRight
IOS
A flick or swipe on a touchscreen object from left-to-right.
FlickUp
IOS
A flick or swipe on a touchscreen object from bottom-to-top.
HScrollTo
RC RJ TC
Attempts to perform an HScrollTo on an object.
JavaMenuSelect
RC WR
Select a JAVA Menu Item according to a stored text value.
LeftDrag
RC RJ TID TC WR SE2
A left mouse drag is performed on the object based on the stored coordinates.
MouseClick
RJ
A single click on an object by mouse event. It uses low level mouse event to click on an object.
MultiClick
TID
Multiple clicks on an object.
MultiClickScreenImage
TID
Same as MULTICLICK.
Press
DRD IOS
Press a touchscreen object for a number of seconds--0 seconds by default.
RightClick
RC RJ TID TC WR ABT SE SE2 AUT
A right click on an object.
RightClickScreenImage
TID
Same as RightClick.
RightClickScreenLocation
TID
RightClick a specified screen location.
RightClickScreenPoint
TID
Deprecated For:GenericObject RightClickScreenLocation
RightDrag
RC RJ TID WR TC SE2
A right mouse drag is performed on the object based on the stored coordinates.
ShiftClick
RC RJ TID TC WR ABT SE SE2 AUT
A SHIFT click on an object.
ShiftClickScreenImage
TID
Same as ShiftClick.
ShiftLeftDrag
RJ TC SE2
A SHIFT left mouse drag is performed on the object based on the stored coordinates.
Tap
DRD IOS
A single Tap on a touchscreen object. Use keyword "Click" syntax and parameters.
TwoFingerTap
IOS
A two-finger tap on a touchscreen object.
VerifyImage
RC
Performs a GenericObjectVP CompareImage OR a RegionImageVP on an object.
VScrollTo
RC RJ TC
Attempts to perform a VScrollTo on an object.

GenericObjectFunctions::AltLeftDrag
RJ TC SE2

An ALT left mouse drag is performed on the object based on the stored coordinates.

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

Typical Data Table records:

(1) t MainWindow GenericItem AltLeftDrag DragName

#1 above will contain a GenericItem entry in the MainWindow section with normal recognition information for it . GenericItem will also have it's own section in the Application Map in which there will be an entry like:

DragName="15,30,60,90" OR DragName="Coords=15,30,60,90"

This will tell RFT to locate the GenericItem Window object and an ALT left mouse drag from coordinates 15,30 to 60,90.



Fields: [ ]=Optional with Default Value
  1. AppMapSubkey
    Name of the AppMap subkey to lookup or literal text to use for an ALT left mouse drag.

    Name of the AppMap subkey to lookup and use for an ALT left mouse drag. We expect the AppMap or literal text to contain the item in the format "x1,y1,x2,y2":

                      [GenericItem]
                      DragName="3,10,12,20"     OR
                      DragName="Coords=3,10,12,20"
                      

    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:
[How To Read This Reference]

GenericObjectFunctions::Click
DRD RC RJ IOS TID WR TC ABT SE SE2 AUT

A single click on an object.

By default, clicks on the center of the component. We can also click on any part of an object, or any point relative to an object based on a provided x,y coordinate or other component-specific parameters.

For SE+, the coordinate can be percentage format, like "20%,30%". This percentage format indicates the point (20% width of component, 30% height of component) relative to the object.

The object to be clicked is first given context and then a click is generated at the coordinates. Thus, a subitem 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 or by providing the literal text of the coordinates, where supported.

Typical Data Table records:

(1) t MainWindow MainWindow Click
(2) t MainWindow MainWindow Click AnObject
(3) t MainWindow FolderTree Click Node1
(4) t MainWindow MainWindow Click "50,200"
(5) t MainWindow MainWindow Click "Coords=50,200"

For SE+, the Data Table records can be:

(6) t MainWindow MainWindow Click "50%,20%"
(7) t MainWindow MainWindow Click "50,20%"

#2 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.

#3 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 Generic object and click at the coordinates specified by the reference.

#4 and #5 above show using literal text instead of an App Map entry to specify where to click relative to the item.

#6 and #7 above show using percentage format in SE+. #6 will click at position, where the X value equals 50% width of component, its Y value equals 20% height of component, relative to the object. #7 will click at position, where the X value equals 50, its Y value equals 20% height of component, relative to the object.

Rational Robot no longer requires the AppMapSubKey be provided and will attempt to use the string as literal text if no AppMapSubKey is found in the current App Map. Robot also no longer assumes the AppMapSubKey value or the literal value is presenting coordinate information. This allows components that can accept parameters other than coordinates, like table row/col values or ImageMap areas to be specified.

If the value is deduced to contain coordinates, but is not prefixed with "Coords=" text, then Robot will add the prefix. Otherwise, the text value will remain unmodified.

This is the direction we expect all tools to follow going forward.

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

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

Note: the TID supports this command using Image-Based Testing techniques and App Map entries as well as literal text coordinates.

For IOS: Any optional coordinates MUST be specified as an integer number between 0-100. 0 represents the extreme left (or top), while 100 represents the extreme right (or bottom). IOS does not use absolute coordinates, but relative coordinates representing a percentage of the element width or height.



Fields: [ ]=Optional with Default Value
  1. [ AppMapSubkey = ]
    (Optional)Name of the AppMap subkey to lookup or the literal text to use for the click.

    Without this we should click on the center of the object.

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

                    [FolderTree]
                    Node1="33,120"      OR
                    Node1="Coords=33,120"
                    ...
                    [AnHTMLImage]
                    AMappdedRegion=Coords=10,10
                    ANamedRegion=AreaName=TechSupport
                    AnIndexedRegion=AreaIndex=2
                    AnotherRegion=AreaID=Contact
                    

    The results from the lookup are appended to the "Coords=" string used by the Click command in Robot (only if necessary). So any valid content used with the 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.

    The Rational Robot implementation also supports using literal text in this parameter instead of an AppMapSubKey. If the value retrieved from this field is NOT found to exist in the App Map as a Sub Key then it will be used as literal text as if it HAD been retrieved from the App Map.

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

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

    Important TID note. The TID IBT implementation supports using literal text in this parameter instead of an AppMapSubKey. If the value retrieved from this field is NOT found to exist in the App Map as a Sub Key then it will be used as literal text as if it HAD been retrieved from the App Map.

    Any coordinates provided for TID IBT are considered relative to the top-left (0,0) of the image or item found unless PointRelative and\or Hotspot information in the IBT recognition string change this initial relative point to be somewhere else.

    Important Abbot note. Presently, there is no support for AppMapSubkey specification (5th field).

    For IOS: Any optional coordinates MUST be specified as an integer number between 0-100. 0 represents the extreme left (or top), while 100 represents the extreme right (or bottom). IOS does not use absolute coordinates, but relative coordinates representing a percentage of the element width or height.



  2. [ AutoScroll = ]
    (Optional) True|False. If the component will be scrolled into view automatically before clicking. The default value is true.

    If the component is out of view, the click action will not succeed. Normally we will scroll the component into view, and then perform the click action. But sometimes, the component is partially shown and click could work and user does not want the component shift, then we could turn off the auto-scroll ability by setting this parameter to false.
    If this auto-scroll is turned off, user needs to make sure that component is shown by himself.

    NOTE:
    SE2 : For now, this optional parameter is only supported in Selenium2.0 Engine.

Examples:
[How To Read This Reference]

GenericObjectFunctions::ClickScreenImage
TID

Same as Click.

The keyword is simply provided as a means to differentiate Object-Based Testing from Image-Based Testing in your tests. However, this differentiation is not required.

Note: the TID supports this command using Image-Based Testing techniques and App Map entries as well as literal text coordinates.



Fields: [ ]=Optional with Default Value
  1. [ AppMapSubKey = ]
    (Optional) AppMapSubKey type of use as documented in the CLICK command.


Examples:
[How To Read This Reference]

GenericObjectFunctions::ClickScreenLocation
TID

Click a specified screen location.

Click a specified screen location.

We can click on any screen location based on stored x,y coordinates or hardcoded literal values. The Window:Component fields can be anything at all and will be ignored if they do not exist in the app map, or if the retrieved app map data does not contain coordinate data. Thus, an item or object can be referenced by name even though it is only known via coordinates.

If the Window:Component AppMap lookup does NOT contain coordinate data and is ignored, then the AppMapSubKey field is REQUIRED and is expected to contain a reference or literal text containing absolute screen coordinates.

If the Window:Component AppMap lookup DOES contain coordinate data, this data is treated as the absolute screen coordinates to be used. The AppMapSubKey field becomes OPTIONAL and coordinate data in the field is treated as a relative offset added to the absolute values found for the Window:Component.

Any AppMapSubKey lookup is done with the Component name in the record AND Field #5.

Typical Data Table records:

(1) t MainWindow Component ClickScreenLocation
(2) t MainWindow MainWindow ClickScreenLocation AnObject
(3) t MainWindow MainWindow ClickScreenLocation 50,80
(4) t AnyWin AnyComp ClickScreenLocation Node1

#1 above will contain a blank as it's 5th field. Because the AppMapSubKey field is blank, the [MainWindow] section of the AppMap MUST have a Component item with valid absolute screen coordinates for the click.

#2 above will contain an AnObject="Coords=50,80" entry in the [MainWindow] section of the AppMap. If there is a MainWindow component in the AppMap with valid screen coordinates then the click will occur with a relative offset of 50,80 from those absolute screen coordinates. Otherwise, the click will occur at absolute screen coordinates 50,80.

#3 If there is a MainWindow component in the [MainWindow] section of the AppMap with valid screen coordinates then the click will occur with a relative offset of 50,80 from those absolute screen coordinates. Otherwise, the click will occur at absolute screen coordinates 50,80.

#4 above will contain no valid AnyWin:AnyComp coordinate data and those fields will be ignored. However, Node1 MUST exist in the Application Map [AnyComp] section to provide absolute screen coordinates for the click.



Fields: [ ]=Optional with Default Value
  1. [ AppMapSubkey = ]
    (Sometimes Optional)Name of the AppMap subkey to locate in the AppMap.

    Without this there MUST be absolute screen coordinates stored in the AppMap for the Window:Component specified.

    Name of the AppMap subkey to locate in the App Map. We expect the AppMap to contain the coordinates in the following supported formats:

                    [Component]
                    Node1="33,120"        (comma-delimited)      OR
                    Node1="33;120"        (semi-colon delimited) OR
                    Node1="33 120"        (space-delimited)      OR
                    Node1="Coords=33,120" (comma-delimited)      OR
                    Node1="Coords=33;120" (semi-colon delimited) OR
                    Node1="Coords=33 120" (space-delimited)
                    

    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.

    This field can instead contain the literal text of any absolute or relative coordinates in the same formats as shown above.



Examples:
[How To Read This Reference]

GenericObjectFunctions::ClickScreenPoint (deprecated for: GenericObject ClickScreenLocation)
TID

(Deprecated) Click a specified screen location.

(Deprecated) Click a specified screen location. See ClickScreenLocation for the preferred method to click on screen coordinates.

We can click on any screen location based on literal text x,y coordinates retrieved from Field #5. Window and Component names and App Map entries are completely ignored. So the user can put anything in those fields that might help test readability.

It is not recommended to hardcode screen coordinates in the test table in this way.



Fields: [ ]=Optional with Default Value
  1. Coords
    The hardcoded X,Y screen coordinates--or the result of an expression--that provides the absolute screen coordinates to click.

    The coordinates must be in the following supported formats:

                    "33,120"        (comma-delimited)      OR
                    "33;120"        (semi-colon delimited) OR
                    "33 120"        (space-delimited)
                    

    Note the "Coords=" prefix is NOT supported for this deprecated command.



Examples:
[How To Read This Reference]

GenericObjectFunctions::CompareStoredData
RC

Performs a GenericObjectVP CompareData on an object.

THE BENCHMARK VP MUST ALREADY EXIST AND BE AN ASSET OF THE CURRENTLY RUNNING SCRIPT.

Modified VP parameter information can be added to the standard VP=VPName by including the VPName reference in the application map in a section defined for the object. If this is done, the value retrieved from the application map will be appended to VP=VPName. The required semicolon for this append will be provided by this routine.

Example 1: Perform a standard HTMLImage CompareData. To perform a basic CompareData the name "StoredVP" will not exist in the app map:

The Step File call:

BrowserWindow AnHTMLImage CompareStoredData StoredVP

This will produce a CompareData VP with "VP=StoredVP;Wait=2,10".

The StoredVP baseline MUST already exist as an asset of the currently running script.

Example 2: Perform a HTMLImage CompareData providing addition parameter information (such as ExpectedResult=FAIL). To do this the HTMLImage object must have its own section in the app map and an item with the same name as the StoredVP. The value of that item will be appended to the standard VP argument with a semicolon.

Part of App Map:

                [BrowserWindow]
                BrowserWindow=WindowTag=WEBBrowser
                AnHTMLImage=<snipped for brevity>;\;Type=HTMLImage;Index=1
                ...
                [AnHTMLImage]
                StoredVP=ExpectedResult=FAIL;Wait=3,30
                

The Step File call:

BrowserWindow AnHTMLImage CompareStoredData StoredVP

This will produce a CompareData VP with all the parameters appended like this: "VP=StoredVP;ExpectedResult=FAIL;Wait=3,30". NOTE:When stored parameters are found in the app map then the default Wait= parameter used in the standard compare is no longer provided. If you still need a Wait= parameter, then it must be included in the stored parameters.

The StoredVP baseline MUST already exist as an asset of the currently running script.



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

    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 the additional stored parameters are appended to the VP call.

  2. [ AddParams = ]
    Additional parameter name used for lookup, or as literal text.

    Another parameter that can be stored as a lookup reference in the app map that will be added to any also stored in the app map under the VP name. This parameter will also be treated as literal text if lookup in the app map fails. In this way, we can add parameters to the VP thru literal text instead of requiring any App Map entry.

Examples:
[How To Read This Reference]

GenericObjectFunctions::CompareStoredProperties
RC WR

Performs a GenericObjectVP CompareProperties on an object.

Performs a GenericObjectVP CompareProperties on an object.

THE BENCHMARK VP MUST ALREADY EXIST AND BE AN ASSET OF THE CURRENTLY RUNNING SCRIPT.

Modified VP parameter information can be added to the standard VP=VPName by including the VPName reference in the application map in a section defined for the object. If this is done, the value retrieved from the application map will be appended to VP=VPName. The required semicolon for this append will be provided by this routine.

Example 1: Perform a standard HTMLImage CompareProperties. To perform a basic CompareProperties the name "StoredVP" will not exist in the app map:

The Step File call:

BrowserWindow AnHTMLImage CompareStoredProperties StoredVP

This will produce a VP with "VP=StoredVP;Wait=2,10".

The StoredVP baseline MUST already exist as an asset of the currently running script.

Example 2: Perform a HTMLImage CompareProperties providing addition parameter information (such as ExpectedResult=FAIL). To do this the HTMLImage object must have its own section in the app map and an item with the same name as the StoredVP. The value of that item will be appended to the standard VP argument with a semicolon.

Part of App Map:

                [BrowserWindow]
                BrowserWindow=WindowTag=WEBBrowser
                AnHTMLImage=<snipped for brevity>;\;Type=HTMLImage;Index=1
                ...
                [AnHTMLImage]
                StoredVP=ExpectedResult=FAIL;Wait=3,30
                

The Step File call:

BrowserWindow AnHTMLImage CompareStoredProperties StoredVP

This will produce a VP with all the parameters appended like this: "VP=StoredVP;ExpectedResult=FAIL;Wait=3,30". NOTE:When stored parameters are found in the app map then the default Wait= parameter used in the standard compare is no longer provided. If you still need a Wait= parameter, then it must be included in the stored parameters.

The StoredVP baseline MUST already exist as an asset of the currently running script.



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

    Name of the pre-existing VP asset stored in the currently running script.

  2. [ AddParams = ]
    Additional parameter name used for lookup, or as literal text.

    Another parameter that can be stored as a lookup reference in the app map that will be added to any also stored in the app map under the VP name. This parameter will also be treated as literal text if lookup in the app map fails. In this way, we can add parameters to the VP thru literal text instead of requiring any App Map entry.

Examples:
[How To Read This Reference]

GenericObjectFunctions::CtrlAltLeftDrag
RJ TC SE2

CTRL ALT left mouse drag is performed on the object based on the stored coordinates.

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

Typical Data Table records:

(1) t MainWindow GenericItem CtrlAltLeftDrag DragName

#1 above will contain a GenericItem entry in the MainWindow section with normal recognition information for it . GenericItem will also have it's own section in the Application Map in which there will be an entry like:

DragName="15,30,60,90" OR DragName="Coords=15,30,60,90"

This will tell RFT to locate the GenericItem Window object and CTRL ALT left mouse drag from coordinates 15,30 to 60,90.



Fields: [ ]=Optional with Default Value
  1. AppMapSubkey
    Name of the AppMap subkey to lookup or literal text to use for the CTRL ALT left mouse drag.

    Name of the AppMap subkey to lookup and use for the CTRL ALT left mouse drag. We expect the AppMap or literal text to contain the item in the format "x1,y1,x2,y2":

                      [GenericItem]
                      DragName="3,10,12,20"     OR
                      DragName="Coords=3,10,12,20"
                      

    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:
[How To Read This Reference]

GenericObjectFunctions::CtrlClick
RC RJ WR TID TC ABT SE SE2 AUT

A CTRL-click on an object.

By default we should click the center of the object.

We can also CTRL-click on any part of an object based on a stored x,y coordinate. The object containing the coordinate is first given context and then a CTRL-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 CtrlClick
(2) t MainWindow MainWindow CtrlClick AnObject
(3) t MainWindow ToolItem CtrlClick PrintTool

#2 above will contain an AnObject="3,10" entry in the MainWindow section of the Application Map to CTRL-click at x=3, y=10 in the MainWindow. For SE+, the coordinate can be percentage format, like "20%,30%". This percentage format indicates the point (20% width of component, 30% height of component) relative to the object.

#3 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 CTRL-click at the coordinates specified by the reference.

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

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



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

    Without this we should click the center of the object.

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

                    [ToolItem]
                    PrintTool="33,120"      OR
                    PrintTool="Coords=33,120"
                    

    The results from the lookup are appended to the "Coords=" string used by the GenericObject Ctrl_Click command in Robot (if necessary). So any valid content used with the Ctrl_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.

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

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

    Important Abbot note. Presently, there is no support for AppMapSubkey specification (5th field).



  2. [ AutoScroll = ]
    (Optional) True|False. If the component will be scrolled into view automatically before clicking. The default value is true.

    If the component is out of view, the click action will not succeed. Normally we will scroll the component into view, and then perform the click action. But sometimes, the component is partially shown and click could work and user does not want the component shift, then we could turn off the auto-scroll ability by setting this parameter to false.
    If this auto-scroll is turned off, user needs to make sure that component is shown by himself.

    NOTE:
    SE2 : For now, this optional parameter is only supported in Selenium2.0 Engine.

Examples:
[How To Read This Reference]

GenericObjectFunctions::CtrlClickScreenImage
TID

Same as CtrlClick.

The keyword is simply provided as a means to differentiate Object-Based Testing from Image-Based Testing in your tests. However, this differentiation is not required.

Note: the TID supports this command using Image-Based Testing techniques and App Map entries as well as literal text coordinates.



Fields: [ ]=Optional with Default Value
  1. [ AppMapSubKey = ]
    (Optional) AppMapSubKey type of use as documented in the CLICK command.


Examples:
[How To Read This Reference]

GenericObjectFunctions::CtrlLeftDrag
RJ TC SE2

A CTRL left mouse drag is performed on the object based on the stored coordinates.

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

Typical Data Table records:

(1) t MainWindow GenericItem CtrlLeftDrag DragName

#1 above will contain a GenericItem entry in the MainWindow section with normal recognition information for it . GenericItem will also have it's own section in the Application Map in which there will be an entry like:

DragName="15,30,60,90" OR DragName="Coords=15,30,60,90"

This will tell RFT to locate the GenericItem Window object and CTRL left drag from coordinates 15,30 to 60,90.



Fields: [ ]=Optional with Default Value
  1. AppMapSubkey
    Name of the AppMap subkey to lookup or literal text to use for the CTRL left mouse drag.

    Name of the AppMap subkey to lookup and use for the CTRL left drag. We expect the AppMap or literal text to contain the item in the format "x1,y1,x2,y2":

                      [GenericItem]
                      DragName="3,10,12,20"     OR
                      DragName="Coords=3,10,12,20"
                      

    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:
[How To Read This Reference]

GenericObjectFunctions::CtrlRightClick
RC TID RJ SE SE2

A CTRL-Right click on an object.

By default we should click the center of the object.

We can also CTRL-Right-Click on any part of an object based on a stored x,y coordinate. The object containing the coordinate is first given context and then a CTRL-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 CtrlRightClick
(2) t MainWindow MainWindow CtrlRightClick AnObject
(3) t MainWindow ToolItem CtrlRightClick PrintTool

#2 above will contain an AnObject="3,10" entry in the MainWindow section of the Application Map to CTRL-click at x=3, y=10 in the MainWindow. For SE+, the coordinate can be percentage format, like "20%,30%". This percentage format indicates the point (20% width of component, 30% height of component) relative to the object.

#3 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 CTRL-Right-Click at the coordinates specified by the reference.



Fields: [ ]=Optional with Default Value
  1. [ AppMapSubkey = ]
    (Optional) Name of the AppMap subkey to lookup and use for the CTRL-Right-Click.

    Without this we should click the center of the object.

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

                    [ToolItem]
                    PrintTool="33,120"      OR
                    PrintTool="Coords=33,120"
                    

    The results from the lookup are appended to the "Coords=" string used by the GenericObject CTRL-Right-Click command in Robot (if necessary). So any valid content used with the CTRL-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.



  2. [ AutoScroll = ]
    (Optional) True|False. If the component will be scrolled into view automatically before clicking. The default value is true.

    If the component is out of view, the click action will not succeed. Normally we will scroll the component into view, and then perform the click action. But sometimes, the component is partially shown and click could work and user does not want the component shift, then we could turn off the auto-scroll ability by setting this parameter to false.
    If this auto-scroll is turned off, user needs to make sure that component is shown by himself.

    NOTE:
    SE2 : For now, this optional parameter is only supported in Selenium2.0 Engine.

Examples:
[How To Read This Reference]

GenericObjectFunctions::CtrlRightClickScreenImage
TID

Same as CtrlRightClick.

The keyword is simply provided as a means to differentiate Object-Based Testing from Image-Based Testing in your tests. However, this differentiation is not required.

Note: the TID supports this command using Image-Based Testing techniques and App Map entries as well as literal text coordinates.



Fields: [ ]=Optional with Default Value
  1. [ AppMapSubKey = ]
    (Optional) AppMapSubKey type of use as documented in the CLICK command.


Examples:
[How To Read This Reference]

GenericObjectFunctions::CtrlShiftLeftDrag
RJ TC SE2

A CTRL SHIFT left mouse drag is performed on the object based on the stored coordinates.

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

Typical Data Table records:

(1) t MainWindow GenericItem CtrlShiftLeftDrag DragName

#1 above will contain a GenericItem entry in the MainWindow section with normal recognition information for it . GenericItem will also have it's own section in the Application Map in which there will be an entry like:

DragName="15,30,60,90" OR DragName="Coords=15,30,60,90"

This will tell RFT to locate the GenericItem Window object and CTRL SHIFT left mouse drag from coordinates 15,30 to 60,90.



Fields: [ ]=Optional with Default Value
  1. AppMapSubkey
    Name of the AppMap subkey to lookup or literal text to use for the CTRL SHIFT left mouse drag.

    Name of the AppMap subkey to lookup and use for the CTRL SHIFT left mouse drag. We expect the AppMap or literal text to contain the item in the format "x1,y1,x2,y2":

                      [GenericItem]
                      DragName="3,10,12,20"     OR
                      DragName="Coords=3,10,12,20"
                      

    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:
[How To Read This Reference]

GenericObjectFunctions::DoubleClick
RC RJ IOS TID TC WR ABT SE SE2 AUT

A double click on an object.

By default we should click the center of the object.

We can also double click on any part of an object based on a stored x,y coordinate. The object 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
(2) t MainWindow MainWindow DoubleClick AnObject
(3) t MainWindow FolderTree DoubleClick Node1

#2 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. For SE+, the coordinate can be percentage format, like "20%,30%". This percentage format indicates the point (20% width of component, 30% height of component) relative to the object.

#3 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.

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

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

Note: the TID supports this command using Image-Based Testing techniques and App Map entries as well as literal text coordinates.

For IOS: Any optional coordinates MUST be specified as an integer number between 0-100. 0 represents the extreme left (or top), while 100 represents the extreme right (or bottom). IOS does not use absolute coordinates, but relative coordinates representing a percentage of the element width or height.



Fields: [ ]=Optional with Default Value
  1. [ AppMapSubkey = ]
    (Optional) Name of the AppMap subkey to lookup or the literal text to use for the double click.

    Without this we should click the center of the object.

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

                    [FolderTree]
                    Node1="33,120"      OR
                    Node1="Coords=33,120"
                    

    The results from the lookup are appended to the "Coords=" string used by the GenericObject DBLClick command in Robot (if necessary). So any valid content used with the 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.

    Important Abbot note. Presently, there is no support for AppMapSubkey specification (5th field).

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

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

    Important TID note. The TID IBT implementation supports using literal text in this parameter instead of an AppMapSubKey. If the value retrieved from this field is NOT found to exist in the App Map as a Sub Key then it will be used as literal text as if it HAD been retrieved from the App Map.

    Any coordinates provided for TID IBT are considered relative to the top-left (0,0) of the image or item found unless PointRelative and\or Hotspot information in the IBT recognition string change this initial relative point to be somewhere else.

    For IOS: Any optional coordinates MUST be specified as an integer number between 0-100. 0 represents the extreme left (or top), while 100 represents the extreme right (or bottom). IOS does not use absolute coordinates, but relative coordinates representing a percentage of the element width or height.



  2. [ AutoScroll = ]
    (Optional) True|False. If the component will be scrolled into view automatically before clicking. The default value is true.

    If the component is out of view, the click action will not succeed. Normally we will scroll the component into view, and then perform the click action. But sometimes, the component is partially shown and click could work and user does not want the component shift, then we could turn off the auto-scroll ability by setting this parameter to false.
    If this auto-scroll is turned off, user needs to make sure that component is shown by himself.

    NOTE:
    SE2 : For now, this optional parameter is only supported in Selenium2.0 Engine.

Examples:
[How To Read This Reference]

GenericObjectFunctions::DoubleClickScreenImage
TID

Same as DoubleClick.

The keyword is simply provided as a means to differentiate Object-Based Testing from Image-Based Testing in your tests. However, this differentiation is not required.

Note: the TID supports this command using Image-Based Testing techniques and App Map entries as well as literal text coordinates.



Fields: [ ]=Optional with Default Value
  1. [ AppMapSubKey = ]
    (Optional) AppMapSubKey as documented in the CLICK command.


Examples:
[How To Read This Reference]

GenericObjectFunctions::DoubleClickScreenLocation
TID

DoubleClick a specified screen location.

DoubleClick a specified screen location.

We can click on any screen location based on stored x,y coordinates or hardcoded literal values. The Window:Component fields can be anything at all and will be ignored if they do not exist in the app map, or if the retrieved app map data does not contain coordinate data. Thus, an item or object can be referenced by name even though it is only known via coordinates.

If the Window:Component AppMap lookup does NOT contain coordinate data and is ignored, then the AppMapSubKey field is REQUIRED and is expected to contain a reference or literal text containing absolute screen coordinates.

If the Window:Component AppMap lookup DOES contain coordinate data, this data is treated as the absolute screen coordinates to be used. The AppMapSubKey field becomes OPTIONAL and coordinate data in the field is treated as a relative offset added to the absolute values found for the Window:Component.

Any AppMapSubKey lookup is done with the Component name in the record AND Field #5.

Typical Data Table records:

(1) t MainWindow Component DoubleClickScreenLocation
(2) t MainWindow MainWindow DoubleClickScreenLocation AnObject
(3) t MainWindow MainWindow DoubleClickScreenLocation 50,80
(4) t AnyWin AnyComp DoubleClickScreenLocation Node1

#1 above will contain a blank as it's 5th field. Because the AppMapSubKey field is blank, the [MainWindow] section of the AppMap MUST have a Component item with valid absolute screen coordinates for the click.

#2 above will contain an AnObject="Coords=50,80" entry in the [MainWindow] section of the AppMap. If there is a MainWindow component in the AppMap with valid screen coordinates then the click will occur with a relative offset of 50,80 from those absolute screen coordinates. Otherwise, the click will occur at absolute screen coordinates 50,80.

#3 If there is a MainWindow component in the [MainWindow] section of the AppMap with valid screen coordinates then the click will occur with a relative offset of 50,80 from those absolute screen coordinates. Otherwise, the click will occur at absolute screen coordinates 50,80.

#4 above will contain no valid AnyWin:AnyComp coordinate data and those fields will be ignored. However, Node1 MUST exist in the Application Map [AnyComp] section to provide absolute screen coordinates for the click.



Fields: [ ]=Optional with Default Value
  1. [ AppMapSubkey = ]
    (Sometimes Optional)Name of the AppMap subkey to locate in the AppMap.

    Without this there MUST be absolute screen coordinates stored in the AppMap for the Window:Component specified.

    Name of the AppMap subkey to locate in the App Map. We expect the AppMap to contain the coordinates in the following supported formats:

                    [Component]
                    Node1="33,120"        (comma-delimited)      OR
                    Node1="33;120"        (semi-colon delimited) OR
                    Node1="33 120"        (space-delimited)      OR
                    Node1="Coords=33,120" (comma-delimited)      OR
                    Node1="Coords=33;120" (semi-colon delimited) OR
                    Node1="Coords=33 120" (space-delimited)
                    

    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.

    This field can instead contain the literal text of any absolute or relative coordinates in the same formats as shown above.



Examples:
[How To Read This Reference]

GenericObjectFunctions::DoubleClickScreenPoint (deprecated for: GenericObject DoubleClickScreenLocation)
TID

(Deprecated) DoubleClick a specified screen location.

(Deprecated) DoubleClick a specified screen location. See DoubleClickScreenLocation for the preferred method to click on screen coordinates.

We can click on any screen location based on literal text x,y coordinates retrieved from Field #5. Window and Component names and App Map entries are completely ignored. So the user can put anything in those fields that might help test readability.

It is not recommended to hardcode screen coordinates in the test table in this way.



Fields: [ ]=Optional with Default Value
  1. Coords
    The hardcoded X,Y screen coordinates--or the result of an expression--that provides the absolute screen coordinates to click.

    The coordinates must be in the following supported formats:

                    "33,120"        (comma-delimited)      OR
                    "33;120"        (semi-colon delimited) OR
                    "33 120"        (space-delimited)
                    

    Note the "Coords=" prefix is NOT supported for this deprecated command.



Examples:
[How To Read This Reference]

GenericObjectFunctions::DoubleTap
IOS

A double-tap on a touchscreen object. Use keyword "DoubleClick" syntax and parameters.


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

    GenericObjectFunctions::DragTo
    TC SE2

    A left mouse drag is performed from one object to another object based on the offsets values.

    Drag will be performed from component (from-component) to another to-component. Offsets value are the drag object select location. The location (drag and release) calucate by X and Y percentage cordination. DragTo also supports sub item of component and sub item of to-component.

    The coordination specify by offsets value. First two values are for from-component and another are for to-component.


    NOTE:
    Offsets can be 50%,50%,50%,50% or 50%;50%;50%;50%
    T, WINDOW,COMPONENT, DRAGTO, ToWINDOW,ToCOMPONENT,"50%,50%,50%,50%" Where first 50%,50% are COMPONENT or their subitem's X and Y location and second 50%,50% are ToCOMPONENT or their subitem's X and Y location.


    Fields: [ ]=Optional with Default Value
    1. ToWindow
      ToWindow object.

      ToWindow recognition string define into AppMap.

    2. ToComponent
      ToComponent object.

      ToComponent recognition string define into AppMap.

    3. [ Offsets = ]
      Drag and release location of from-component and to-component. Offsets syntax will be "50%,50%,70%,70%"", where first two percentages are for from-component and second two are for to-component. If offsets are not specified then center will be used.
      Default value, both components center.

      NOTE:
      SE2 : The parameter 'Offsets' can be also given in pixel, like '20, 20, 70, 90'; or even in mix format, like "50%, 50%, 70, 90".

    4. [ FromSubItem = ]
      Text of from-component's sub item.

      FromSubItem as text. e.g tree node or list item or any sub main component's item.
      NOTE:
      SE2 : NOT supported yet.

    5. [ ToSubItem = ]
      Text of to-component's sub item.

      ToSubItem as text. e.g tree node or list item or any sub main component item.
      NOTE:
      SE2 : NOT supported yet.

    6. [ Pause = ]
      Pause time in millisecond to hold the button before releasing.

      The default pause time is 800 milliseconds, which may not enough for the AUT to react. User could provide a larger value according to his needs.
      NOTE:
      SE2 : Initially implemented, may not be supported for other engines.

    Examples:
    • T, WINDOW,COMPONENT, DRAGTO, ToWINDOW,ToCOMPONENT
      A left mouse drag will be performed from component (COMPONENT) to to-component (ToCOMPONENT).

      Drag the component from center and release on to-component's center.

    • T, WINDOW,COMPONENT, DRAGTO, ToWINDOW,ToCOMPONENT,"50%,50%,50%,50%"
      A left mouse drag will be performed from component(X=50% and Y=50%) to to-component(X=50% and Y=50%).

      Field 7 : "50%,50%,50%,50%" first two 50%s for component (COMPONENT) and another for to-component (ToCOMPONENT) drag and release point. User can use "," or ";" as separator to separate X and Y. example "50%,50%,50%,50%" or 50%;50%;50%;50%".

    • T, WINDOW,COMPONENT, DRAGTO, WINDOW,COMPONENT,"50%;50%;75%;75%"
      A left mouse drag will be performed to resize the component (COMPONENT) from 50% to 75% size.

      Resize the component from (X=50%, y=50%) to X=75% and Y=75%.

    • T, WINDOW,COMPONENT, DRAGTO, ToWINDOW,ToCOMPONENT,"50%,50%,50%,50%","FromSubItem"
      A left mouse drag will be performed from FromSubItem (COMPONENT's sub item) to to-component (ToCOMPONENT) using offsets(50%,50%,50%,50%).

      Field 8 : FromSubItem of COMPONENT. It is useful when TreeNode or List Item drag to to-component.

    • T, WINDOW,COMPONENT, DRAGTO, ToWINDOW,ToCOMPONENT,50%,50%,50%,50%,"FromSubItem","ToSubItem"
      A left mouse drag will be performed from FromSubItem (COMPONENT's sub item) to ToSubItem (ToCOMPONENT's sub item).

      Field 8 and 9: FromSubItem is a subitem of COMPONENT and ToSubItem is a subitem of ToCOMPONENT. It is useful when TreeNode or List Item drag to subitem of to-component. e.g DragTo tree node to list item.

    [How To Read This Reference]

    GenericObjectFunctions::Flick
    IOS

    A user-defined flick or swipe on a touchscreen object.

    The user would use this command if they need to customize parameters like:
    • Number of fingers used: default=1,
    • Start and ending offsets within the object: defaults=90;50;10;50
    • How long (in seconds) to complete the flick from start to end: default=1.


    Fields: [ ]=Optional with Default Value
    1. [ AppMapSubKey = 90;50;10;50 ]
      Optional AppMap SubKey (or literal text) containing x1,y1,x2,y2 flick offsets within the object.

      Without this we should perform a default right-to-left Flick.

      Name of the AppMap subkey to lookup and use for the command. We expect the AppMap or literal text to contain the item in the format "x1,y1,x2,y2":

                       [ComponentName]
                       OffsetName="0;0;100;100"
                       

      Both Fields #3 (Component Name) and #5 (Offset Name) 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.

      If no such App Map lookup exists, then we will assume the field contains the offset value directly.

      Offsets are "relative" to the object. Each value should be an integer 0-100 representing the relative percentage where 0 is the minimum (left or top) and 100 is the maximum width or height of the object. Thus: 0,0,100,100 represents a flick from the topleft corner to the bottomright corner of the object.

      Engines should attempt to support offsets separated by different characters. The most common separators that should be supported would be:

      • "," (comma) Example: "0,0,100,100" (topleft to bottomright)
      • ";" (semi-colon) Example: "100;0;0;100" (topright to bottomleft)
      • " " (space) Example: "0 50 100 50" (leftcenter to rightcenter)



    2. [ Duration = 1 ]
      Optional number of seconds (0 to N) to press on the object.

      Optional number of seconds (0 to N) to press on the item. The default value is 1.

    3. [ Touches = 1 ]
      Optional number of touches or fingers to use.

      Optional number of touches or fingers to use. The default value is 1.

    4. [ Repeat = 1 ]
      Optional number of times to repeat the operation.

      Optional number of times to repeat the operation.

    Examples:
    • T, WINDOW, COMPONENT, Flick
      A simple flick on the object, from right-to-left with one touch/finger taking 1 second.

      A simple flick on the object, from right-to-left with one touch/finger taking 1 second.

    • T, MainApp, MyTree, Flick, TopRightToBottom
      A flick on the MyTree object using AppMapped offsets with one touch/finger taking 1 second.

      A flick on the MyTree object with one touch/finger taking 1 second. The AppMap is intended to contains something like below:

                     [MyTree]
                     TopRightToBottom="90;0;90;100"
                     



    • T, MainApp, MyTree, Flick, TopRightToBottom, 3
      A flick on the MyTree object using AppMapped offsets with one touch/finger taking 3 second.

      A flick on the MyTree object using AppMapped offsets with one touch/finger taking 3 second.

    • T, MainApp, MyTree, Flick, "", "", 2
      A simple right-to-left flick on the MyTree object taking 1 second with 2 fingers.

      A simple right-to-left flick on the MyTree object taking 1 second with 2 fingers.

    • T, MainApp, MyTree, Flick, "", "", "", 3
      3 simple right-to-left flicks on the MyTree object taking 1 second each.

      3 simple right-to-left flicks on the MyTree object taking 1 second each.

    [How To Read This Reference]

    GenericObjectFunctions::FlickDown
    IOS

    A flick or swipe on a touchscreen object from top-to-bottom.


    Fields: [ ]=Optional with Default Value
    1. [ Repeat = 1 ]
      Optional number of times to repeat the operation.

      Optional number of times to repeat the operation.

    Examples:
    • T, WINDOW, COMPONENT, FlickDown
      A simple flick on the object from top-to-bottom.

      A simple flick on the object from top-to-bottom.

    • T, WINDOW, COMPONENT, FlickDown, 3
      3 simple flicks on the object from top-to-bottom.

      3 simple flicks on the object from top-to-bottom.

    [How To Read This Reference]

    GenericObjectFunctions::FlickLeft
    IOS

    A flick or swipe on a touchscreen object from right-to-left.


    Fields: [ ]=Optional with Default Value
    1. [ Repeat = 1 ]
      Optional number of times to repeat the operation.

      Optional number of times to repeat the operation.

    Examples:
    • T, WINDOW, COMPONENT, FlickLeft
      A simple flick on the object from right-to-left.

      A simple flick on the object from right-to-left.

    • T, WINDOW, COMPONENT, FlickLeft, 3
      3 simple flicks on the object from right-to-left.

      3 simple flicks on the object from right-to-left.

    [How To Read This Reference]

    GenericObjectFunctions::FlickRight
    IOS

    A flick or swipe on a touchscreen object from left-to-right.


    Fields: [ ]=Optional with Default Value
    1. [ Repeat = 1 ]
      Optional number of times to repeat the operation.

      Optional number of times to repeat the operation.

    Examples:
    • T, WINDOW, COMPONENT, FlickRight
      A simple flick on the object from left-to-right.

      A simple flick on the object from left-to-right.

    • T, WINDOW, COMPONENT, FlickRight, 3
      3 simple flicks on the object from left-to-right.

      3 simple flicks on the object from left-to-right.

    [How To Read This Reference]

    GenericObjectFunctions::FlickUp
    IOS

    A flick or swipe on a touchscreen object from bottom-to-top.


    Fields: [ ]=Optional with Default Value
    1. [ Repeat = 1 ]
      Optional number of times to repeat the operation.

      Optional number of times to repeat the operation.

    Examples:
    • T, WINDOW, COMPONENT, FlickUp
      A simple flick on the object from bottom-to-top.

      A simple flick on the object from bottom-to-top.

    • T, WINDOW, COMPONENT, FlickUp, 3
      3 simple flicks on the object from bottom-to-top.

      3 simple flicks on the object from bottom-to-top.

    [How To Read This Reference]

    GenericObjectFunctions::HScrollTo
    RC RJ TC

    Attempts to perform an HScrollTo on an object.

    Attempts to perform an HScrollTo on an object. The input record specifies the absolute position to scroll to.

    Fields: [ ]=Optional with Default Value
    1. POSITION
      Integer value that specifies the absolute position to scroll to.

      Integer value that specifies the absolute position to scroll to, as would be used in the "Position=%" parameter for the HScrollTo action of the SQABasic GenericObject command.

    Examples:
    • T, WINDOW, Object, HSCROLLTO, 0
      Scrolls the object to the left most position.


    • T, WINDOW, Object, HSCROLLTO, 10
      Scrolls the object to the absolute horizontal position of 10.


    [How To Read This Reference]

    GenericObjectFunctions::JavaMenuSelect
    RC WR

    Select a JAVA Menu Item according to a stored text value.

    Select a JAVA Menu Item according to a stored text value. Until JavaMenu objects are routed elsewhere, we will handle the menu selection here. Each menuItem acted upon is given a name in the AppMap under the name provided for the Menu.

    The menuitem lookup is done with the component\menu name of the record AND Field #5.

    Typical Data Table records:

    t JavaWindow MainMenu JavaMenuSelect FileOpen

    The example will contain a FileOpen="Path=File->Open" entry in the MainMenu section of the Application Map to select File->Open menuItem from the menu of the MainWindow.

    MainMenu will also be an entry in the MainWindow section with normal recognition information for it. This will tell Robot to locate the MainMenu Generic Object prior to the menu selection.



    Fields: [ ]=Optional with Default Value
    1. JavaMenuItem
      Name of the Java menuitem to lookup and use for the selection.

      Name of the Java menuitem to lookup and use for the selection. We expect the AppMap to contain the item in the format "Path=Menu->Item":

      [MainMenu] FileOpen="Path=File->Open"

      The full results from the AppMap lookup are used, so any valid content used with the JavaMenu 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, MAINMENU, JavaMenuSelect, FileOpen
      A menu selection will be performed on the menuitem indicated by the FileOpen reference in the Application Map.

      Field 5 : TQ String. A reference identified in the Application Map identifying the menuitem on which to click. This example shows FileOpen which will be found in the Application Map as a referenced item in the MAINMENU section.

    [How To Read This Reference]

    GenericObjectFunctions::LeftDrag
    RC RJ TID TC WR SE2

    A left mouse drag is performed on the object based on the stored coordinates.

    For components that are unrecognized, we can make a mouse drag in these to draw fields(rectangles) or do drag and drop, based on stored x,y start and end coordinates. The object containing the starting coordinates is first given context and then a left mouse drag is performed with the stored coordinates.

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

    Typical Data Table records:

    (1) t MainWindow GenericItem LeftDrag DragName

    #1 above will contain a GenericItem entry in the MainWindow section with normal recognition information for it . GenericItem will also have it's own section in the Application Map in which there will be an entry like:

                    DragName="15,30,60,90"    OR
                    DragName="Coords=15,30,60,90"
                    

    This will tell Robot to locate the GenericItem Window object and left drag from coordinates 15,30 to 60,90.

    Note: the TID supports this command using Image-Based Testing techniques and App Map entries as well as literal text coordinates.



    Fields: [ ]=Optional with Default Value
    1. AppMapSubkey
      Name of the AppMap subkey to lookup or literal text to use for the left mouse drag.

      Name of the AppMap subkey to lookup and use for the left drag. We expect the AppMap or literal text to contain the item in the format "x1,y1,x2,y2":

                      [GenericItem]
                      DragName="3,10,12,20"     OR
                      DragName="Coords=3,10,12,20"
                      

      The results from the lookup are appended to the "Coords=" string used by the GenericObject Left_Drag command in Robot (if necessary). So any valid content used with the Left_Drag 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.

      Important TID note. The TID IBT implementation supports using literal text in this parameter instead of an AppMapSubKey. If the value retrieved from this field is NOT found to exist in the App Map as a Sub Key then it will be used as literal text as if it HAD been retrieved from the App Map.

      Any coordinates provided for TID IBT are considered relative to the top-left (0,0) of the image or item found unless PointRelative and\or Hotspot information in the IBT recognition string change this initial relative point to be somewhere else.



    Examples:
    • T, WINDOW, WINDOW, LEFTDRAG, AnObject
      A left mouse drag will be performed based on coordinates indicated by the AnObject reference in the Application Map.

      Field 5 : TQ String. A reference identified in the Application Map identifying coordinates on which to drag. This example shows AnObject which will be found in the Application Map as a referenced item in the WINDOW section.

    • T, WINDOW, AnObject, LEFTDRAG, ASubObject
      A left mouse drag will be performed based on coordinates indicated by the ASubObject reference in the Application Map.

      Field 5 : TQ String. A reference identified in the Application Map identifying coordinates on which to drag. This example shows AnObject as a viable object in the WINDOW 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.

    • T, WINDOW, AnObject, LEFTDRAG, "Coords=10;20;200;300"
      A left drag will be performed from point 10,20 to 200,300 relative to AnObject.

      Field 5 : TQ String. The item does not exist in the app map so will be treated as literal text. Note we allow semi-colon delimited coordinates to support the case when commas are used as field delimiters and cannot be used to delimit the X and Y coordinates.

    [How To Read This Reference]

    GenericObjectFunctions::MouseClick
    RJ

    A single click on an object by mouse event. It uses low level mouse event to click on an object.

    By default, mouse click on the center of the component. We can also mouse click on any part of an object, or any point relative to an object based on a provided x,y coordinate or other component-specific parameters.

    The object to be mouse clicked is first given context and then a mouse click is generated at the coordinates. Thus, a subitem 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 or by providing the literal text of the coordinates, where supported.

    Typical Data Table records:

    (1) t MainWindow MainWindow MouseClick
    (2) t MainWindow MainWindow MouseClick AnObject
    (3) t MainWindow FolderTree MouseClick Node1
    (4) t MainWindow MainWindow MouseClick "50,200"
    (5) t MainWindow MainWindow MouseClick "Coords=50,200"

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

    #3 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 Generic object and mouse click at the coordinates specified by the reference.

    #4 and #5 above show using literal text instead of an App Map entry to specify where to mouse click relative to the item.

    Rational Robot no longer requires the AppMapSubKey be provided and will attempt to use the string as literal text if no AppMapSubKey is found in the current App Map. Robot also no longer assumes the AppMapSubKey value or the literal value is presenting coordinate information. This allows components that can accept parameters other than coordinates, like table row/col values or ImageMap areas to be specified.

    If the value is deduced to contain coordinates, but is not prefixed with "Coords=" text, then Robot will add the prefix. Otherwise, the text value will remain unmodified.

    This is the direction we expect all tools to follow going forward.

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

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



    Fields: [ ]=Optional with Default Value
    1. [ AppMapSubkey = ]
      (Optional)Name of the AppMap subkey to lookup or the literal text to use for the click.

      Without this we should click on the center of the object.

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

                      [FolderTree]
                      Node1="33,120"      OR
                      Node1="Coords=33,120"
                      ...
                      [AnHTMLImage]
                      AMappdedRegion=Coords=10,10
                      ANamedRegion=AreaName=TechSupport
                      AnIndexedRegion=AreaIndex=2
                      AnotherRegion=AreaID=Contact
                      

      The results from the lookup are appended to the "Coords=" string used by the MouseClick command in Robot (only if necessary). So any valid content used with the MouseClick 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.

      The Rational Robot implementation also supports using literal text in this parameter instead of an AppMapSubKey. If the value retrieved from this field is NOT found to exist in the App Map as a Sub Key then it will be used as literal text as if it HAD been retrieved from the App Map.

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

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



    Examples:
    • T, WINDOW, COMPONENT, MOUSECLICK
      A single mouse click on the center of the object.

      A single click on the center of the object.

    • T, WINDOW, WINDOW, MOUSECLICK, AnObject
      A single mouse click will be performed at a x,y coordinate indicated by the AnObject reference in the Application Map.

      Field 5 : TQ String. A reference identified in the Application Map identifying coordinates on which to click This example shows AnObject which will be found in the Application Map as a referenced item in the WINDOW section.

    • T, WINDOW, AnObject, MOUSECLICK, ASubObject
      A single mouse click will be performed at a x,y coordinate indicated by the ASubObject reference in the Application Map.

      Field 5 : TQ String. A reference identified in the Application Map identifying coordinates on which to click This example shows AnObject as a viable object in the WINDOW 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.

    • T, WINDOW, AnObject, MOUSECLICK, 10;20
      A single mouse click will be performed at coordinate 10,20 in the object.

      Field 5 : TQ String. The item does not exist in the app map so will be treated as literal text. Note we allow semi-colon delimited coordinates to support the case when commas are used as field delimiters and cannot be used to delimit the X and Y coordinates.

    • T, WINDOW, AnObject, MOUSECLICK, "Coords=10;20"
      A single mouse click will be performed at coordinate 10,20 in the object.

      Field 5 : TQ String. The item does not exist in the app map so will be treated as literal text. Note we allow semi-colon delimited coordinates to support the case when commas are used as field delimiters and cannot be used to delimit the X and Y coordinates.

    [How To Read This Reference]

    GenericObjectFunctions::MultiClick
    TID

    Multiple clicks on an object.

    By default, clicks on the center of the component 3 times.
    Use the optional ClickCount parameter to specify the desired number of clicks.
    We can also click on any part of an object, or any point relative to an object based on a provided x,y coordinate or other component-specific parameters.

    The object to be clicked is first given context and then the clicks are generated at the coordinates. Thus, a subitem or object can be referenced by name even though it is only recognized via coordinates.

    The optional coordinate lookup is done with the component name of the record AND Field #5 or by providing the literal text of the coordinates, where supported.

    Typical Data Table records with relative references:

    (1) t MainWindow MainWindow MultiClick
    (2) t MainWindow MainWindow MultiClick AnObject
    (3) t MainWindow FolderTree MultiClick Node1 "4"
    (4) t MainWindow MainWindow MultiClick "50,200" "3"
    (5) t MainWindow MainWindow MultiClick "Coords=50,200" "2"

    #1 above should click 3 times (default) at the center (default) of the MainWindow.

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

    #3 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 the runtime to locate the FolderTree Generic object and click 3 times (default) at the coordinates specified by the reference.

    #4 and #5 above show using literal text instead of an App Map entry to specify where to click relative to the item. The item will be clicked 3 times and 2 times, respectively

    Note: the TID supports this command using Image-Based Testing techniques and App Map entries as well as literal text coordinates.



    Fields: [ ]=Optional with Default Value
    1. [ AppMapSubkey = ]
      (Optional)Name of the AppMap subkey to lookup or the literal text to use for the clicks.

      Without this we should click on the center of the object.

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

                      [FolderTree]
                      Node1="33,120"      OR
                      Node1="Coords=33,120"
                      ...
                      [AnHTMLImage]
                      AMappdedRegion=Coords=10,10
                      ANamedRegion=AreaName=TechSupport
                      AnIndexedRegion=AreaIndex=2
                      AnotherRegion=AreaID=Contact
                      

      The results from the lookup are appended to the "Coords=" string used by the Click command in Robot (only if necessary). So any valid content used with the 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.

      Important TID note. The TID IBT implementation supports using literal text in this parameter instead of an AppMapSubKey. If the value retrieved from this field is NOT found to exist in the App Map as a Sub Key then it will be used as literal text as if it HAD been retrieved from the App Map.

      Any coordinates provided for TID IBT are considered relative to the top-left (0,0) of the image or item found unless PointRelative and\or Hotspot information in the IBT recognition string change this initial relative point to be somewhere else.



    2. [ ClickCount = 3 ]
      Optional number of times (1 to N) to click the item.

      Optional number of times (1 to N) to click the item. The default if no value is provided is 3.

    Examples:
    • T, WINDOW, COMPONENT, MULTICLICK
      Click 3 times (default) on the center of the object.

      Click 3 times (default) on the center of the object.

    • T, WINDOW, COMPONENT, MULTICLICK, "", "4"
      Click 4 times on the center of the object.

      Click 4 times on the center of the object. No AppMapSubKey or Literal Text is given to alter the relative coordinates for the click.

    • T, WINDOW, WINDOW, MULTICLICK, AnObject
      Click 3 times (default) at relative x,y coordinates stored in "AnObject" in the App Map.

      Field 5 : TQ String. An item in the App Map holding relative coordinates to click.
      This example shows "AnObject" which will be found in the App Map in the "WINDOW" section.


    • T, WINDOW, COMPONENT, MULTICLICK, ASubObject
      Click 3 times (default) at relative x,y coordinates stored in "ASubObject" in the App Map.

      Field 5 : TQ String. An item in the App Map holding relative coordinates to click.
      This example shows "ASubObject" which will be found in the App Map in the "COMPONENT" section.


    • T, WINDOW, COMPONENT, MULTICLICK, 10;20
      Click 3 times (default) at coordinate 10,20 in the object.

      Field 5 : TQ String. The item does not exist in the app map so will be treated as literal text. Note we allow semi-colon delimited coordinates to support the case when commas are used as field delimiters and cannot be used to delimit the X and Y coordinates.

    • T, WINDOW, AnObject, MULTICLICK, "Coords=10;20", "4"
      4 clicks at coordinate 10,20 in the object.

      Field 5 : TQ String. The item does not exist in the app map so will be treated as literal text. Note we allow semi-colon delimited coordinates to support the case when commas are used as field delimiters and cannot be used to delimit the X and Y coordinates.

    [How To Read This Reference]

    GenericObjectFunctions::MultiClickScreenImage
    TID

    Same as MULTICLICK.

    The keyword is simply provided as a means to differentiate Object-Based Testing from Image-Based Testing in your tests. However, this differentiation is not required.

    Note: the TID supports this command using Image-Based Testing techniques and App Map entries as well as literal text coordinates.



    Fields: [ ]=Optional with Default Value
    1. [ AppMapSubkey = ]
      (Optional)Name of the AppMap subkey to lookup or the literal text to use for the clicks.

      Same as MULTICLICK.
      The keyword is simply provided as a means to differentiate Object-Based Testing from Image-Based Testing in your tests. However, this differentiation is not required.

      Note: the TID supports this command using Image-Based Testing techniques and App Map entries as well as literal text coordinates.



    2. [ ClickCount = 3 ]
      Optional number of times (1 to N) to click the item.

      Optional number of times (1 to N) to click the item. The default if no value is provided is 3.

    Examples:
    • T, WINDOW, COMPONENT, MULTICLICKSCREENIMAGE
      Click 3 times (default) on the center of the object.

      Click 3 times (default) on the center of the object.

    • T, WINDOW, COMPONENT, MULTICLICKSCREENIMAGE, "", "4"
      Click 4 times on the center of the object.

      Click 4 times on the center of the object. No AppMapSubKey or Literal Text is given to alter the relative coordinates for the click.

    • T, WINDOW, WINDOW, MULTICLICKSCREENIMAGE, AnObject
      Click 3 times (default) at relative x,y coordinates stored in "AnObject" in the App Map.

      Field 5 : TQ String. An item in the App Map holding relative coordinates to click.
      This example shows "AnObject" which will be found in the App Map in the "WINDOW" section.


    • T, WINDOW, COMPONENT, MULTICLICKSCREENIMAGE, ASubObject
      Click 3 times (default) at relative x,y coordinates stored in "ASubObject" in the App Map.

      Field 5 : TQ String. An item in the App Map holding relative coordinates to click.
      This example shows "ASubObject" which will be found in the App Map in the "COMPONENT" section.


    • T, WINDOW, COMPONENT, MULTICLICKSCREENIMAGE, 10;20
      Click 3 times (default) at coordinate 10,20 in the object.

      Field 5 : TQ String. The item does not exist in the app map so will be treated as literal text. Note we allow semi-colon delimited coordinates to support the case when commas are used as field delimiters and cannot be used to delimit the X and Y coordinates.

    • T, WINDOW, AnObject, MULTICLICKSCREENIMAGE, "Coords=10;20", "4"
      4 clicks at coordinate 10,20 in the object.

      Field 5 : TQ String. The item does not exist in the app map so will be treated as literal text. Note we allow semi-colon delimited coordinates to support the case when commas are used as field delimiters and cannot be used to delimit the X and Y coordinates.

    [How To Read This Reference]

    GenericObjectFunctions::Press
    DRD IOS

    Press a touchscreen object for a number of seconds--0 seconds by default.


    Fields: [ ]=Optional with Default Value
    1. [ Duration = 0 ]
      Optional number of seconds (0 to N) to press on the object.

      Optional number of seconds (0 to N) to press on the item. The default if no value is provided is 0.

    Examples:
    • T, WINDOW, COMPONENT, Press
      A press on the object for less than 1 second.

      A press on the object for less than 1 second.

    • T, WINDOW, COMPONENT, Press, 3
      A press on the object for 3 seconds.

      A press on the object for 3 seconds.

    [How To Read This Reference]

    GenericObjectFunctions::RightClick
    RC RJ TID TC WR ABT SE SE2 AUT

    A right click on an object.

    By default we should click on the center of the object.

    We can also right click on any part of an object based on a stored x,y coordinate. The object 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
    (2) t MainWindow MainWindow RightClick AnObject
    (3) t MainWindow ToolItem RightClick PrintTool

    #2 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. For SE+, the coordinate can be percentage format, like "20%,30%". This percentage format indicates the point (20% width of component, 30% height of component) relative to the object.

    #3 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.

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

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

    Note: the TID supports this command using Image-Based Testing techniques and App Map entries as well as literal text coordinates.



    Fields: [ ]=Optional with Default Value
    1. [ AppMapSubkey = ]
      (Optional) Name of the AppMap subkey to lookup or the literal text to use for the right click.

      Without this we should click on the center of the object.

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

                      [ToolItem]
                      PrintTool="33,120"      OR
                      PrintTool="Coords=33,120"
                      

      The results from the lookup are appended to the "Coords=" string used by the GenericObject Right_Click command in Robot (if necessary). So any valid content used with the 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.

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

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

      Important TID note. The TID IBT implementation supports using literal text in this parameter instead of an AppMapSubKey. If the value retrieved from this field is NOT found to exist in the App Map as a Sub Key then it will be used as literal text as if it HAD been retrieved from the App Map.

      Any coordinates provided for TID IBT are considered relative to the top-left (0,0) of the image or item found unless PointRelative and\or Hotspot information in the IBT recognition string change this initial relative point to be somewhere else.

      Important Abbot note. Presently, there is no support for AppMapSubkey specification (5th field).



    2. [ AutoScroll = ]
      (Optional) True|False. If the component will be scrolled into view automatically before clicking. The default value is true.

      If the component is out of view, the click action will not succeed. Normally we will scroll the component into view, and then perform the click action. But sometimes, the component is partially shown and click could work and user does not want the component shift, then we could turn off the auto-scroll ability by setting this parameter to false.
      If this auto-scroll is turned off, user needs to make sure that component is shown by himself.

      NOTE:
      SE2 : For now, this optional parameter is only supported in Selenium2.0 Engine.

    Examples:
    • T, WINDOW, WINDOW, RIGHTCLICK
      A right click will be performed on the center of the object.

      A right click will be performed on the center of the object.

    • T, WINDOW, WINDOW, RIGHTCLICK, , False
      A right click will be performed on the center of the object. And the object will not be scrolled into view automatically before clicking.

      NOTE:
      SE2 : Auto-scroll will be turned off.

    • T, WINDOW, WINDOW, RIGHTCLICK, AnObject
      A right click will be performed at a x,y coordinate indicated by the AnObject reference in the Application Map.

      Field 5 : TQ String. A reference identified in the Application Map identifying coordinates on which to right-click This example shows AnObject which will be found in the Application Map as a referenced item in the WINDOW section.

    • T, WINDOW, AnObject, RIGHTCLICK, ASubObject
      A right click will be performed at a x,y coordinate indicated by the ASubObject reference in the Application Map.

      Field 5 : TQ String. A reference identified in the Application Map identifying coordinates on which to right-click This example shows AnObject as a viable object in the WINDOW 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.

    • T, WINDOW, AnObject, RIGHTCLICK, "Coords=10;20"
      A single right click will be performed at coordinate 10,20 in the object.

      Field 5 : TQ String. The item does not exist in the app map so will be treated as literal text. Note we allow semi-colon delimited coordinates to support the case when commas are used as field delimiters and cannot be used to delimit the X and Y coordinates.

    [How To Read This Reference]

    GenericObjectFunctions::RightClickScreenImage
    TID

    Same as RightClick.

    The keyword is simply provided as a means to differentiate Object-Based Testing from Image-Based Testing in your tests. However, this differentiation is not required.

    Note: the TID supports this command using Image-Based Testing techniques and App Map entries as well as literal text coordinates.



    Fields: [ ]=Optional with Default Value
    1. [ AppMapSubKey = ]
      (Optional) AppMapSubKey or literal text as documented in the CLICK command.


    Examples:
    • T, WINDOW, COMPONENT, RightClickScreenImage
      A right-click as generically documented for the CLICK command.

      A right-click as generically documented for the CLICK command.

    • T, WINDOW, AnObject, RightClickScreenImage, "Coords=10;20"
      A right click as generically documented for the CLICK command.


    [How To Read This Reference]

    GenericObjectFunctions::RightClickScreenLocation
    TID

    RightClick a specified screen location.

    RightClick a specified screen location.

    We can click on any screen location based on stored x,y coordinates or hardcoded literal values. The Window:Component fields can be anything at all and will be ignored if they do not exist in the app map, or if the retrieved app map data does not contain coordinate data. Thus, an item or object can be referenced by name even though it is only known via coordinates.

    If the Window:Component AppMap lookup does NOT contain coordinate data and is ignored, then the AppMapSubKey field is REQUIRED and is expected to contain a reference or literal text containing absolute screen coordinates.

    If the Window:Component AppMap lookup DOES contain coordinate data, this data is treated as the absolute screen coordinates to be used. The AppMapSubKey field becomes OPTIONAL and coordinate data in the field is treated as a relative offset added to the absolute values found for the Window:Component.

    Any AppMapSubKey lookup is done with the Component name in the record AND Field #5.

    Typical Data Table records:

    (1) t MainWindow Component RightClickScreenLocation
    (2) t MainWindow MainWindow RightClickScreenLocation AnObject
    (3) t MainWindow MainWindow RightClickScreenLocation 50,80
    (4) t AnyWin AnyComp RightClickScreenLocation Node1

    #1 above will contain a blank as it's 5th field. Because the AppMapSubKey field is blank, the [MainWindow] section of the AppMap MUST have a Component item with valid absolute screen coordinates for the click.

    #2 above will contain an AnObject="Coords=50,80" entry in the [MainWindow] section of the AppMap. If there is a MainWindow component in the AppMap with valid screen coordinates then the click will occur with a relative offset of 50,80 from those absolute screen coordinates. Otherwise, the click will occur at absolute screen coordinates 50,80.

    #3 If there is a MainWindow component in the [MainWindow] section of the AppMap with valid screen coordinates then the click will occur with a relative offset of 50,80 from those absolute screen coordinates. Otherwise, the click will occur at absolute screen coordinates 50,80.

    #4 above will contain no valid AnyWin:AnyComp coordinate data and those fields will be ignored. However, Node1 MUST exist in the Application Map [AnyComp] section to provide absolute screen coordinates for the click.



    Fields: [ ]=Optional with Default Value
    1. [ AppMapSubkey = ]
      (Sometimes Optional)Name of the AppMap subkey to locate in the AppMap.

      Without this there MUST be absolute screen coordinates stored in the AppMap for the Window:Component specified.

      Name of the AppMap subkey to locate in the App Map. We expect the AppMap to contain the coordinates in the following supported formats:

                      [Component]
                      Node1="33,120"        (comma-delimited)      OR
                      Node1="33;120"        (semi-colon delimited) OR
                      Node1="33 120"        (space-delimited)      OR
                      Node1="Coords=33,120" (comma-delimited)      OR
                      Node1="Coords=33;120" (semi-colon delimited) OR
                      Node1="Coords=33 120" (space-delimited)
                      

      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.

      This field can instead contain the literal text of any absolute or relative coordinates in the same formats as shown above.



    Examples:
    • T, WINDOW, WINDOW, RightClickScreenLocation
      RightClick at specified screen coordinates for WINDOW.

      RightClick at screen coordinates specified for the Window item stored in the [Window] section of the current AppMap.

    • T, WINDOW, AnObject, RightClickScreenLocation, "Coords=200,400"
      RightClick at screen coordinates 200,400.

      RightClick at screen coordinates 200,400. This assumes AnObject is NOT an item in the [Window] section of the current AppMap with valid coordinate data.

    • T, WINDOW, AnObject, RightClickScreenLocation, ASubObject
      RightClick at screen coordinates stored in the ASubObject reference in the [AnObject] section of the current AppMap.

      ASubObject reference found in the AppMap [AnObject] section must contain the screen coordinates on which to click.

    • T, WINDOW, AnObject, RightClickScreenLocation
      RightClick on the Window:AnObject screen coordinates.

      Because no AppMapSubKey is provided the AnObject item MUST exist in the [WINDOW] section of the current AppMap and it MUST contain valid screen coordinate data.

    [How To Read This Reference]

    GenericObjectFunctions::RightClickScreenPoint (deprecated for: GenericObject RightClickScreenLocation)
    TID

    (Deprecated) RightClick a specified screen location.

    (Deprecated) RightClick a specified screen location. See RightClickScreenLocation for the preferred method to click on screen coordinates.

    We can click on any screen location based on literal text x,y coordinates retrieved from Field #5. Window and Component names and App Map entries are completely ignored. So the user can put anything in those fields that might help test readability.

    It is not recommended to hardcode screen coordinates in the test table in this way.



    Fields: [ ]=Optional with Default Value
    1. Coords
      The hardcoded X,Y screen coordinates--or the result of an expression--that provides the absolute screen coordinates to click.

      The coordinates must be in the following supported formats:

                      "33,120"        (comma-delimited)      OR
                      "33;120"        (semi-colon delimited) OR
                      "33 120"        (space-delimited)
                      

      Note the "Coords=" prefix is NOT supported for this deprecated command.



    Examples:
    • T, BogusWin, BogusComp, RightClickScreenPoint, 33;120
      RightClick at screen coordinates 33,120.

      RightClick at screen coordinates 33,120

    [How To Read This Reference]

    GenericObjectFunctions::RightDrag
    RC RJ TID WR TC SE2

    A right mouse drag is performed on the object based on the stored coordinates.

    For components that are unrecognized, we can make a mouse drag in these to draw fields(rectangles) or do drag and drop, based on stored x,y start and end coordinates. The object containing the starting coordinates is first given context and then a right mouse drag is performed with the stored coordinates.

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

    Typical Data Table records:

    (1) t MainWindow GenericItem RightDrag DragName

    #1 above will contain a GenericItem entry in the MainWindow section with normal recognition information for it . GenericItem will also have it's own section in the Application Map in which there will be an entry like:

    DragName="15,30,60,90" OR DragName="Coords=15,30,60,90"

    This will tell Robot to locate the GenericItem Window object and right drag from coordinates 15,30 to 60,90.

    Note: the TID supports this command using Image-Based Testing techniques and App Map entries as well as literal text coordinates.



    Fields: [ ]=Optional with Default Value
    1. AppMapSubkey
      Name of the AppMap subkey to lookup or literal text to use for the right mouse drag.

      Name of the AppMap subkey to lookup and use for the right drag. We expect the AppMap or literal text to contain the item in the format "x1,y1,x2,y2":

                      [GenericItem]
                      DragName="3,10,12,20"     OR
                      DragName="Coords=3,10,12,20"
                      

      The results from the lookup are appended to the "Coords=" string used by the GenericObject Left_Drag command in Robot (if necessary). So any valid content used with the Right_Drag 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.

      Important TID note. The TID IBT implementation supports using literal text in this parameter instead of an AppMapSubKey. If the value retrieved from this field is NOT found to exist in the App Map as a Sub Key then it will be used as literal text as if it HAD been retrieved from the App Map.

      Any coordinates provided for TID IBT are considered relative to the top-left (0,0) of the image or item found unless PointRelative and\or Hotspot information in the IBT recognition string change this initial relative point to be somewhere else.



    Examples:
    • T, WINDOW, WINDOW, RIGHTDRAG, AnObject
      A right mouse drag will be performed based on coordinates indicated by the AnObject reference in the Application Map.

      Field 5 : TQ String. A reference identified in the Application Map identifying coordinates on which to drag. This example shows AnObject which will be found in the Application Map as a referenced item in the WINDOW section.

    • T, WINDOW, AnObject, LEFTDRAG, ASubObject
      A right mouse drag will be performed based on coordinates indicated by the ASubObject reference in the Application Map.

      Field 5 : TQ String. A reference identified in the Application Map identifying coordinates on which to drag. This example shows AnObject as a viable object in the WINDOW 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.

    • T, WINDOW, AnObject, RIGHTDRAG, "Coords=10;20;200;300"
      A right drag will be performed from point 10,20 to 200,300 relative to AnObject.

      Field 5 : TQ String. The item does not exist in the app map so will be treated as literal text. Note we allow semi-colon delimited coordinates to support the case when commas are used as field delimiters and cannot be used to delimit the X and Y coordinates.

    [How To Read This Reference]

    GenericObjectFunctions::ShiftClick
    RC RJ TID TC WR ABT SE SE2 AUT

    A SHIFT click on an object.

    By default we should click on the center of the object.

    We can SHIFT click on any part of an object based on a stored x,y coordinate. The object containing the coordinate is first given context and then a SHIFT 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 ShiftClick
    (2) t MainWindow MainWindow ShiftClick AnObject
    (3) t MainWindow ToolItem ShiftClick PrintTool

    #2 above will contain an AnObject="3,10" entry in the MainWindow section of the Application Map to SHIFT click at x=3, y=10 in the MainWindow. For SE+, the coordinate can be percentage format, like "20%,30%". This percentage format indicates the point (20% width of component, 30% height of component) relative to the object.

    #3 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 SHIFT click at the coordinates specified by the reference.

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

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



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

      Without this we should click on the center of the object.

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

                      [ToolItem]
      PrintTool="33,120" OR PrintTool="Coords=33,120"

      The results from the lookup are appended to the "Coords=" string used by the GenericObject Shift_Click command in Robot (if necessary). So any valid content used with the Shift_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.

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

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

      Important Abbot note. Presently, there is no support for AppMapSubkey specification (5th field).



    2. [ AutoScroll = ]
      (Optional) True|False. If the component will be scrolled into view automatically before clicking. The default value is true.

      If the component is out of view, the click action will not succeed. Normally we will scroll the component into view, and then perform the click action. But sometimes, the component is partially shown and click could work and user does not want the component shift, then we could turn off the auto-scroll ability by setting this parameter to false.
      If this auto-scroll is turned off, user needs to make sure that component is shown by himself.

      NOTE:
      SE2 : For now, this optional parameter is only supported in Selenium2.0 Engine.

    Examples:
    • T, WINDOW, WINDOW, SHIFTCLICK
      A SHIFT click will be performed on the center of the object.

      A SHIFT click will be performed on the center of the object.

    • T, WINDOW, WINDOW, SHIFTCLICK, , False
      A SHIFT click will be performed on the center of the object. And the object will not be scrolled into view automatically before clicking.

      NOTE:
      SE2 : Auto-scroll will be turned off.

    • T, WINDOW, WINDOW, SHIFTCLICK, AnObject
      A SHIFT click will be performed at a x,y coordinate indicated by the AnObject reference in the Application Map.

      Field 5 : TQ String. A reference identified in the Application Map identifying coordinates on which to SHIFT-click This example shows AnObject which will be found in the Application Map as a referenced item in the WINDOW section.

    • T, WINDOW, AnObject, SHIFTCLICK, ASubObject
      A SHIFT click will be performed at a x,y coordinate indicated by the ASubObject reference in the Application Map.

      Field 5 : TQ String. A reference identified in the Application Map identifying coordinates on which to SHIFT-click This example shows AnObject as a viable object in the WINDOW 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]

    GenericObjectFunctions::ShiftClickScreenImage
    TID

    Same as ShiftClick.

    The keyword is simply provided as a means to differentiate Object-Based Testing from Image-Based Testing in your tests. However, this differentiation is not required.

    Note: the TID supports this command using Image-Based Testing techniques and App Map entries as well as literal text coordinates.



    Fields: [ ]=Optional with Default Value
    1. [ AppMapSubKey = ]
      (Optional) AppMapSubKey type of use as documented in the CLICK command.


    Examples:
    • T, WINDOW, COMPONENT, ShiftClickScreenImage
      A single click on the center of the item.

      A single click on the center of the item with SHIFT key pressed. Refer to the SHIFTCLICK command for details.

    • T, WINDOW, COMPONENT, ShiftClickScreenImage, AppMapLookup
      A single click on a point relative to the item.

      A single click on a point relative to the item with SHIFT key pressed. Refer to the SHIFTCLICK command for details.

    • T, WINDOW, COMPONENT, ShiftClickScreenImage, "Coords=50;200"
      A single click on a point relative to the item.

      A single click on a point relative to the item with SHIFT key pressed. Refer to the SHIFTCLICK command for details.

    [How To Read This Reference]

    GenericObjectFunctions::ShiftLeftDrag
    RJ TC SE2

    A SHIFT left mouse drag is performed on the object based on the stored coordinates.

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

    Typical Data Table records:

    (1) t MainWindow GenericItem ShiftLeftDrag DragName

    #1 above will contain a GenericItem entry in the MainWindow section with normal recognition information for it . GenericItem will also have it's own section in the Application Map in which there will be an entry like:

    DragName="15,30,60,90" OR DragName="Coords=15,30,60,90"

    This will tell RFT to locate the GenericItem Window object and SHIFT left drag from coordinates 15,30 to 60,90.



    Fields: [ ]=Optional with Default Value
    1. AppMapSubkey
      Name of the AppMap subkey to lookup or literal text to use for the SHIFT left mouse drag.

      Name of the AppMap subkey to lookup and use for the operation. We expect the AppMap or literal text to contain the item in the format "x1,y1,x2,y2":

                        [GenericItem]
                        DragName="3,10,12,20"     OR
                        DragName="Coords=3,10,12,20"
                        

      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, SHIFTLEFTDRAG, AnObject
      A SHIFT left mouse drag will be performed based on coordinates indicated by the AnObject reference in the Application Map.

      Field 5 : TQ String. A reference identified in the Application Map identifying coordinates on which to drag. This example shows AnObject which will be found in the Application Map as a referenced item in the WINDOW section.

    • T, WINDOW, AnObject, SHIFTLEFTDRAG, ASubObject
      A SHIFT left mouse drag will be performed based on coordinates indicated by the ASubObject reference in the Application Map.

      Field 5 : TQ String. A reference identified in the Application Map identifying coordinates on which to drag. This example shows AnObject as a viable object in the WINDOW 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.

    • T, WINDOW, AnObject, SHIFTLEFTDRAG, "Coords=10;20;200;300"
      A SHIFT left drag will be performed from point 10,20 to 200,300 relative to AnObject.

      Field 5 : TQ String. The item does not exist in the app map so will be treated as literal text. Note we allow semi-colon delimited coordinates to support the case when commas are used as field delimiters and cannot be used to delimit the X and Y coordinates.

    [How To Read This Reference]

    GenericObjectFunctions::Tap
    DRD IOS

    A single Tap on a touchscreen object. Use keyword "Click" syntax and parameters.


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

      GenericObjectFunctions::TwoFingerTap
      IOS

      A two-finger tap on a touchscreen object.


      Fields: [ ]=Optional with Default Value
        Examples:
        • T, WINDOW, COMPONENT, TwoFingerTap
          A two-fingered tap on the object.

          A two-fingered tap on the object.

        [How To Read This Reference]

        GenericObjectFunctions::VerifyImage
        RC

        Performs a GenericObjectVP CompareImage OR a RegionImageVP on an object.

        Performs a GenericObjectVP 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 GenericObjectVP CompareImage

        MainWindow SomeGenericObject VerifyImage StoredVP

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

        The named VP (StoredVP) must not exist in the application map. The entire panel/object of SomeGenericObject 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 SomeGenericObject VerifyImage StoredVP

                        (StoredVP found as:
                        
                        "65,100,200,250"   OR
                        "Coords=65,100,200,250"
                        

        in the SomeGenericObject section of the app map)

        The named VP (StoredVP) is found to exist in the application map as a subitem in the SomeGenericObject 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
          Name of the pre-existing VP asset stored in the currently running script.

          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, AnObject, VERIFYIMAGE, "AStoredVP"
          This action verifies the AnObject image against the "AStoredVP" benchmark.

          Field 5 : TQ String. 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 object would be performed. However, if the AStoredVP value given exists in the Application Map as a reference under the provided Component Object then a RegionImage test will be attempted instead.

        [How To Read This Reference]

        GenericObjectFunctions::VScrollTo
        RC RJ TC

        Attempts to perform a VScrollTo on an object.

        Attempts to perform a VScrollTo on an object. The input record specifies the absolute position to scroll to.

        Fields: [ ]=Optional with Default Value
        1. POSITION
          Integer value that specifies the absolute position to scroll to.

          Integer value that specifies the absolute position to scroll to, as would be used in the "Position=%" parameter for the VScrollTo action of the SQABasic GenericObject command.

        Examples:
        • T, WINDOW, Object, VSCROLLTO, 0
          Scrolls the object to the top most position.


        • T, WINDOW, Object, VSCROLLTO, 10
          Scrolls the object to the absolute vertical position of 10.


        [How To Read This Reference]