IOS GenericObjectFunctions

Last Updated:

Actions for working with GENERIC objects



[How To Read This Reference]
Click
IOS TID
A single click on an object.
ClickScreenImage
TID
Same as Click.
ClickScreenLocation
TID
Click a specified screen location.
ClickScreenPoint
TID
Deprecated For:GenericObject ClickScreenLocation
CtrlClick
TID
A CTRL-click on an object.
CtrlClickScreenImage
TID
Same as CtrlClick.
CtrlRightClick
TID
A CTRL-Right click on an object.
CtrlRightClickScreenImage
TID
Same as CtrlRightClick.
DoubleClick
IOS TID
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.
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.
LeftDrag
TID
A left mouse drag is performed on the object based on the stored coordinates.
MultiClick
TID
Multiple clicks on an object.
MultiClickScreenImage
TID
Same as MULTICLICK.
Press
IOS
Press a touchscreen object for a number of seconds--0 seconds by default.
RightClick
TID
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
TID
A right mouse drag is performed on the object based on the stored coordinates.
ShiftClick
TID
A SHIFT click on an object.
ShiftClickScreenImage
TID
Same as ShiftClick.
Tap
IOS
A single Tap on a touchscreen object. Use keyword "Click" syntax and parameters.
TwoFingerTap
IOS
A two-finger tap on a touchscreen object.

IOS GenericObjectFunctions::Click
IOS TID

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]

IOS 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]

IOS 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]

IOS 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]

IOS GenericObjectFunctions::CtrlClick
TID

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]

IOS 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]

IOS GenericObjectFunctions::CtrlRightClick
TID

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]

IOS 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]

IOS GenericObjectFunctions::DoubleClick
IOS TID

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]

IOS 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]

IOS 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]

IOS 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]

IOS 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]

    IOS 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]

    IOS 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]

    IOS 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]

    IOS 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]

    IOS 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]

    IOS GenericObjectFunctions::LeftDrag
    TID

    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]

    IOS 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]

    IOS 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]

    IOS GenericObjectFunctions::Press
    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]

    IOS GenericObjectFunctions::RightClick
    TID

    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]

    IOS 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]

    IOS 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]

    IOS 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]

    IOS GenericObjectFunctions::RightDrag
    TID

    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]

    IOS GenericObjectFunctions::ShiftClick
    TID

    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]

    IOS 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]

    IOS GenericObjectFunctions::Tap
    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]

      IOS 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]