IOS DDDriverCommands

Last Updated:

Miscellaneous Driver Commands.

This keyword library provides Driver Commands that can be used in any keyword driven test table regardless of the test tables level--Cycle, Suite, or Step.

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

Field #1
The "C" = DRIVER COMMAND record type specifier.
Field #2
The Driver Command keyword.

Example:

C , SetApplicationMap , "AppMap.map"

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

Example:

C, LaunchApplication, NOTEPAD, NOTEPAD.EXE, , , "AppMap.map"

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

Note that the full availability of all Driver Commands is now spread across several files. Together, all of these files provide all the Driver Commands available to the core framework.



[How To Read This Reference]
AppMapChaining
SDC TID
Enable and Disable support for App Map chaining.
AppMapResolve
SDC TID
Enable and Disable support for embedded DDVariables in App Map strings.
AssignClipboardVariable
TID SDC
Copy the clipboard contents to a DDVariable.
CallRemote
TID SDC
Execute a command on an external system / application.
CaptureMousePositionOnScreen
SDC TID
Capture the location of the mouse pointer relative to the screen and save the x and y components into variables.
ClearAllVariables
SDC
Clear storage of all DDVariables.
ClearArrayVariables
SDC
Clear storage of all SAFS variables containing a specific prefix.
ClearClipboard
TID SDC
Clear the contents of the Window's clipboard.
CloseApplication
IOS TID SDC
Close a named application process launched with LaunchApplication.
CloseApplicationMap
TID
By map ID, Close a opened Application Map in map chain.
CopyVariableValueEx
TID SDC
Copy the value of a (dynamic) DDVariable to another.
Delay
TID SDC
Delay for a specified number of milliseconds.
Expressions
TID
Enable and Disable enhanced expressions.
GetAppMapValue
SDC
Assign a DDVariable a value from an App Map.
GetMillisBetweenRecords
TID
Get the pause between two records, and assigns the value to a DDVariable.
GetRegistryKeyValue
SDC TID
Assign the value of the specified Registry Key to a variable.
GetSystemDate
TID SDC
Assigns the string value of the system date to a DDVariable.
GetSystemDateTime
TID SDC
Assigns the string value of the system datetime to a DDVariable.
GetSystemTime
TID SDC
Assigns the string value of the current system time to a DDVariable.
GetVersion
TID SDC
Get the engine VERSION
LaunchApplication
TID IOS SDC
Identify and Launch a specified application
NotifyAndWait
TID SDC
Display a user-defined message dialog and wait until dismissed.
Pause
TID SDC
Pause for a specified number of seconds.
SaveClipboardToFile
TID SDC
Save the clipboard contents to a text file.
SendEmail
TID
Send email notification with attachments.
SetApplicationMap
TID
Provide the Application Map for the DDE to use
SetBenchDirectory
TID SDC
Set/Change the directory in which the framework will find benchmark files by default.
SetClipboard
TID SDC
Set the clipboard contents to a string.
SetDifDirectory
TID SDC
Set/Change the directory in which the framework will locate file compare differences.
SetImageDebug
TID
Enable/Disable verbose debug log output and high-res failure snapshots.
SetImageFuzzyMatching
TID
Enable/Disable Image-Based Testing Fuzzy Matching.
SetMillisBetweenRecords
TID
Set the pause between two records.
SetMultipleThreadSearch
TID
Turn on or trun off the multi-thread-search way to search an image.
SetProjectDirectory
TID SDC
Set/Change the framework project directory.
SetRootVerifyDirectory
TID SDC
Set/Change the Bench, Test, and Dif directories to be subdirectories off of the provided path.
SetTestDirectory
TID SDC
Set/Change the directory in which the framework will find test files (captured "actuals") by default.
SetVariableValueEx
TID SDC
Set the value of a DDVariable
SetVariableValues
TID SDC
Preset the value of one or more DDVariables
StartWebBrowser
TID SDC
Launch a new web browser and optionally load a document into it.
TakeScreenShot
TID
Take screenshot and save it to a file on test machine.
UseAbbotFunctions
TID
Enable/Disable the switch to "prefer" ABBOT Functions over any other engine functions.
UseDroidFunctions
TID
Enable/Disable the switch to "prefer" Droid Functions over the current engine functions (like Robot Classic).
UseIOSFunctions
TID
Enable/Disable the switch to "prefer" IOS Functions over any other engine functions.
UseQTPFunctions
TID
Enable/Disable the switch to "prefer" QTP Functions over any other engine functions.
UseRobotJFunctions
TID
Enable/Disable the switch to "prefer" RobotJ Hook Component Functions over Robot Classic Component Functions.
UseSAFSFunctions
TID
Enable/Disable the switch to "prefer" SAFS (SDC) Functions over the current engine functions (like Robot Classic).
UseSeleniumFunctions
TID
Enable/Disable the switch to "prefer" Selenium Functions over the current engine functions (like Robot Classic).
UseTestCompleteFunctions
TID
Enable/Disable the switch to "prefer" TestComplete (TCAFS) Functions over any other engine functions.
VerifyClipboardToFile
TID SDC
Verify the current contents of the Windows clipboard with a benchmark file.
Version
TID
Specify the table format VERSION
WaitForGUI
TID
Wait for a Window or Window Component to become valid.
WaitForGUIGone
TID
Wait for a Window or Window Component to become invalid.
WaitForRegistryKeyExists
SDC TID
Wait for a Registry Key to become valid.
WaitForRegistryKeyValue
SDC TID
Wait for a specific Registry KeyValue to match an expected value.

IOS DDDriverCommands::AppMapChaining
SDC TID

Enable and Disable support for App Map chaining.

The SAFSMAPS service historically looked for values in the 'default' AppMap. This is typically the last AppMap that was OPENed. This service will now lookup values in what is called the AppMap 'chain'. This chain is simply a Last-In-First-Out (LIFO) buffer of open AppMaps. As an AppMap is OPENed it is placed at the top of the search chain. AppMaps already in the chain are moved down the chain and searched in a LIFO order. This allows a primary AppMap to be OPENed that might contain many default and shared values while subsequently opened AppMaps might have overriding entries, entries that build upon the defaults, or contain locale-specific entries for things like NLS testing.

Support is currently provided via the SAFSMAPS service.



Fields: [ ]=Optional with Default Value
  1. Mode
    Enable("ON") or Disable("OFF") this feature.


Examples:
[How To Read This Reference]

IOS DDDriverCommands::AppMapResolve
SDC TID

Enable and Disable support for embedded DDVariables in App Map strings.

When enabled (ON), the App Map processor will resolve DDVariable references when they are wrapped in curly braces {^varName} anywhere in the value portion of an AppMap entry. There should be no spaces anywhere between the curly braces or the variable will be considered literal text and will not be resolved.
    ;these two items have no section identifier
    ;they are part of an initial, unnamed section
    AnItem = A normal static value
    NewItem = Another static value

    [ASection]
    AnItem = A normal static value
    Item2 = Type=Component;Text={^text}
    Item3 = Type=Window;Caption={^caption};\;Type=CheckBox;Text={^text}

    The syntax for Item2 specifies that the value of the DDVariable ^text should be retrieved and embedded in the value provided for Item2.

    The syntax for Item3 specifies that the value of the DDVariables ^caption and ^text should be retrieved and embedded in the value provided for Item3.

Support is currently provided via the SAFSMAPS service.



Fields: [ ]=Optional with Default Value
  1. Mode
    Enable("ON") or Disable("OFF") this feature.


Examples:
[How To Read This Reference]

IOS DDDriverCommands::AssignClipboardVariable
TID SDC

Copy the clipboard contents to a DDVariable.

Copy the clipboard contents to a DDVariable. This command can only copy text contents of the clipboard.

Fields: [ ]=Optional with Default Value
  1. VarName
    The variable to copy the clipboard text into.

    The routine will strip off any leading "^" if it is provided.

Examples:
[How To Read This Reference]

IOS DDDriverCommands::CallRemote
TID SDC

Execute a command on an external system / application.

Execute a command on an external system / application. This command presently supports only the STAF protocol. Command syntax, parameters, and values will be dependent upon the protocol specified and the command issued to the remote (or even local) system.

Fields: [ ]=Optional with Default Value
  1. Protocol
    The name of the protocol to use. Presently only 'STAF' is supported.


  2. SystemName
    The name of the system to send the command to.


  3. ServiceName
    The service name to be called on the external system / application.


  4. Command
    The service command to be issued to the external system / application.


  5. [ VarName = result ]
    The DDVariable root name to receive the results.

    Variable root name defaults to 'result' if not provided.

    The variables varName.RC and varName.RESULT are defined on completion of the command.



  6. [ Parameters = ]
    Additional parameters to be passed to the service command.


Examples:
[How To Read This Reference]

IOS DDDriverCommands::CaptureMousePositionOnScreen
SDC TID

Capture the location of the mouse pointer relative to the screen and save the x and y components into variables.


Fields: [ ]=Optional with Default Value
  1. X_VariableName
    The name of the DDVariable to store the X component of the mouse position.


  2. Y_VariableName
    The name of the DDVariable to store the Y component of the mouse position.

    Capture the current position of the mouse on the screen. The X component of the returned coordinate is saved into the DDVariable given as the first parameter. The Y component of the returned coordinate is saved into the DDVariable given as the second parameter.

Examples:
  • C, CaptureMousePositionOnScreen, xVar, yVar
    Captures the mouse position and stores the coordinates into the variables named "xVar" and "yVar".


  • C, CaptureMousePositionOnScreen, ^xVar="x1", ^yVar="y1"
    Captures the mouse position and stores the coordinates into the variables named "x1" and "y1".


[How To Read This Reference]

IOS DDDriverCommands::ClearAllVariables
SDC

Clear storage of all DDVariables.


Fields: [ ]=Optional with Default Value
    Examples:
    • C, ClearAllVariables
      Clear all DDVariables.


    [How To Read This Reference]

    IOS DDDriverCommands::ClearArrayVariables
    SDC

    Clear storage of all SAFS variables containing a specific prefix.

    Users can use SAFSVARS to store pseudo-arrays simply by adding a numeric suffix to any vaiable name prefix.

    For example:

    TCAFS.UID.1
    TCAFS.UID.2
    TCAFS.UID.3

    This command allows you to clear/delete all such SAFSVARS array variables with a specific prefix.



    Fields: [ ]=Optional with Default Value
    1. ArrayName
      The variable name prefix to use for the delete.


    Examples:
    • C, ClearArrayVariables, "TCAFS.UID."
      Clear all SAFS variables starting with the "TCAFS.UID." prefix.


    [How To Read This Reference]

    IOS DDDriverCommands::ClearClipboard
    TID SDC

    Clear the contents of the Window's clipboard.


    Fields: [ ]=Optional with Default Value
      Examples:
      • C, ClearClipboard
        Clear the clipboard contents.


      [How To Read This Reference]

      IOS DDDriverCommands::CloseApplication
      IOS TID SDC

      Close a named application process launched with LaunchApplication.

      Currently we can only TERMINATE processes successfully providing a TASKID during LaunchApplication. If we were unable to get a TASKID, then we will not be able to terminate the task with this command.

      For IOS: This simply tries to close any and all instances of the running XCode Instruments application that is driving the IOS tests.

      For Android testing: The AUT information is configured via the test INI file and the installed APKs. There are no parameters to provide to the CloseApplication call when closing the application under test.



      Fields: [ ]=Optional with Default Value
      1. ApplicationID
        The Application ID or reference provided to LaunchApplication

        For IOS: The ApplicationID can be anything because it is ignored. The IOS engine simply shuts down all running IOS Instruments applications.

      Examples:
      • C, CloseApplication, NotePad
        Close the application we called Notepad with LaunchApplication.


      [How To Read This Reference]

      IOS DDDriverCommands::CloseApplicationMap
      TID

      By map ID, Close a opened Application Map in map chain.

      By map ID, Close a opened Application Map in map chain. Closing an App Map releases all resources used by the map and removes it from any active App Map chaining. If the closed App Map was the "default" map then the next App Map in the chain becomes the "default" App Map.

      Fields: [ ]=Optional with Default Value
      1. ApplicationMap
        The path and/or filename (ID) of the Application Map to close.

        The path and/or filename (ID) of the Application Map to close. This must be the same path or filename used when the App Map was opened. The short filename without the path can be used if the file can be found via internal search algorithms. Typically, the AppMap is located in the project's Datapool directory.

      Examples:
      • C, CloseApplicationMap, NotePad.Map
        Close the Notepad.map App Map in the Datapool directory.

        The App Map must have been opened with the same short name information.

      • C, CloseApplicationMap, "C:\SomeDir\NewApp.Map"
        Close the NewApp.map Application Map.

        The App Map must have been opened with the same fullpath information.

      [How To Read This Reference]

      IOS DDDriverCommands::CopyVariableValueEx
      TID SDC

      Copy the value of a (dynamic) DDVariable to another.

      Both fields can contain literal strings, DDVariables, or any expression that evaluates to a valid variable name. The primary purpose of this is to allow for dynamic variable creation via expressions. That is something that "SetVariableValues" cannot do.

      Fields: [ ]=Optional with Default Value
      1. SourceVariable
        The name of the variable to copy.


      2. DestinationVariable
        The name of the variable to receive the copy


      Examples:
      • C, CopyVariableValueEx, srcvar, destvar
        Copy the value of variable srcvar to variable destvar (euivalent to ^destvar=^srcvar)


      • C, CopyVariableValueEx, ^srcvarname, ^destvarname
        Given ^srcvarname contains "srcvar" and ^destvarname contains "destvar", this sets ^destvar to ^srcvar


      • C, CopyVariableValueEx, ^basename & ^index, destvar
        Any expression that evaluates to a valid DDVariable name may be used.


      [How To Read This Reference]

      IOS DDDriverCommands::Delay
      TID SDC

      Delay for a specified number of milliseconds.


      Fields: [ ]=Optional with Default Value
      1. Timeout
        The number of milliseconds to delay.


      Examples:
      • C, Delay, 300
        Delay for 300 milliseconds.


      [How To Read This Reference]

      IOS DDDriverCommands::Expressions
      TID

      Enable and Disable enhanced expressions.

      Enable and Disable enhanced expressions. When enabled, records are pre-processed for advanced expressions (math and string) conversions with DDVariables. When disabled, records are pre-processed with standard DDVariable conversions for backwards compatibility.

      Fields: [ ]=Optional with Default Value
      1. Mode
        The status for enhanced expression handling.


      Examples:
      • C, Expressions, ON
        Turn ON enhanced expression handling.


      [How To Read This Reference]

      IOS DDDriverCommands::GetAppMapValue
      SDC

      Assign a DDVariable a value from an App Map.

      Allows the extraction of an App Map item value into a DDVariable. The user can optionally provide the App Map ID and Section from which the entry is sought. The default is to retrieve the value from the default section in the default App Map.

      Fields: [ ]=Optional with Default Value
      1. [ AppMapID = ]
        The ID provided for the AppMap when OPENed.

        If this parameter is left empty then the default or "current" App Map is used.

      2. [ Section = ]
        The Section within the App Map to locate the entry.

        If this parameter is left empty then the default App Map section is used.

      3. Item
        The Item within the App Map to retrieve.

        This parameter cannot be left empty.

      4. varName
        The name of the variable to receive the value.

        This parameter cannot be left empty.

      Examples:
      • C, GetAppMapValue, Classics.MAP, MainWindow, FileMenu, menuRec
        Get the value for FileMenu from the Classics.MAP in the MainWindow section and store it in the DDVariable named ^menuRec.


      • C, GetAppMapValue, , , FileMenu, menuRec
        Get the value for FileMenu from the "current" App Map in the default section and store it in the DDVariable named ^menuRec.


      [How To Read This Reference]

      IOS DDDriverCommands::GetMillisBetweenRecords
      TID

      Get the pause between two records, and assigns the value to a DDVariable.

      Get the pause between two records, and assigns the value to a DDVariable. This time is milli-seconds.

      Fields: [ ]=Optional with Default Value
      1. VariableName
        The name of the variable to receive the pause between two records.

        The name of the variable to receive the pause between two records.

      Examples:
      • C, GetMillisBetweenRecords, "millisBetweenRecords"
        Get the pause between two records, and assigns to DDVariable ^millisBetweenRecords


      [How To Read This Reference]

      IOS DDDriverCommands::GetRegistryKeyValue
      SDC TID

      Assign the value of the specified Registry Key to a variable.

      On Windows XP (and higher?) this is accomplished via the REG.EXE provided by the operating system. If this program is NOT available then the Registry commands will not work until another means is implemented--possibly Windows Scripting Host scripts, etc..

      If the registry key does not exist then a failure will be recorded and no value--an empty string--will be assigned to the variable.



      Fields: [ ]=Optional with Default Value
      1. Key
        The Registry Key name to seek.


      2. KeyValue
        The value name under the parent key to seek.


      3. VarName
        The name of the variable to receive the value of the registry key.


      Examples:
      • C, GetRegistryKeyValue, "HKLM\Software\Adobe\CommonFiles", "AdobeHome", "AdobeHomeVar"
        Get the value of the AdobeHome registry key and store it in the ^AdobeHomeVar variable.

        If the registry key does not exist then a failure will be recorded and no value--an empty string--will be assigned to the variable.

      [How To Read This Reference]

      IOS DDDriverCommands::GetSystemDate
      TID SDC

      Assigns the string value of the system date to a DDVariable.

      Assigns the string value of the system date to a DDVariable. This date is in the format MM-DD-YYYY.

      Fields: [ ]=Optional with Default Value
      1. VariableName
        The name of the variable to receive the System Date.

        The name of the variable to receive the System Date. Note, if you supply the name of the variable and include the leading caret (^) symbol then the variable must be enclosed in quotes. Otherwise, that variable will be used like any other variable and the substituted value of that variable will be interpretted as the name of the variable you wish to use.

      Examples:
      • C, GetSystemDate, SystemDate
        Assigns system date to DDVariable ^SystemDate


      • C, GetSystemDate, "SystemDate"
        Assigns system date to DDVariable ^SystemDate


      • C, GetSystemDate, "^SystemDate"
        Assigns system date to DDVariable ^SystemDate


      • C, SetVariableValues, ^SystemDate="TodaysDate"
        C, GetSystemDate, ^SystemDate

        Assigns system date to DDVariable ^TodaysDate


      [How To Read This Reference]

      IOS DDDriverCommands::GetSystemDateTime
      TID SDC

      Assigns the string value of the system datetime to a DDVariable.

      Assigns the string value of the system datetime to a DDVariable. This date is in the format MM-DD-YYYY HH:MM:SS, it is in AM-PM 12-hours format (1-12) be default; If you set the second parameter 'GetMilitaryTime' to True, the time will be 24-hours military format (0-23). Use military time is recommanded, as am-pm time has confusion without AM or PM (example: 18:00 and 06:00 will be both 06:00)

      Fields: [ ]=Optional with Default Value
      1. VariableName
        The name of the variable to receive the System DateTime.

        The name of the variable to receive the System DateTime. Note, if you supply the name of the variable and include the leading caret (^) symbol then the variable must be enclosed in quotes. Otherwise, that variable will be used like any other variable and the substituted value of that variable will be interpretted as the name of the variable you wish to use.

      2. [ GetMilitaryTime = ]
        If true, the converted time is in 24-hours military time format

        If this is true, the converted time will be in 24-hours military time format (0-23). If this parameter is omitted, it is false be default, the converted time will be in AM-PM 12-hours format (1-12).

      Examples:
      • C, GetSystemDateTime, SystemDate
        Assigns system datetime to DDVariable ^SystemDate, the time will be in 12-hours format (1-12).


      • C, GetSystemDateTime, "SystemDate"
        Assigns system datetime to DDVariable ^SystemDate, the time will be in 12-hours format (1-12).


      • C, GetSystemDateTime, "^SystemDate"
        Assigns system datetime to DDVariable ^SystemDate, the time will be in 12-hours format (1-12).


      • C, SetVariableValues, ^SystemDate="TodaysDate"
        C, GetSystemDateTime, ^SystemDate

        Assigns system datetime to DDVariable ^TodaysDate, the time will be in 12-hours format (1-12).


      • C, GetSystemDateTime, SystemMilitaryDate, True
        Assigns system datetime to DDVariable ^SystemMilitaryDate, the time will be in military format, 24-hours (0-23).


      [How To Read This Reference]

      IOS DDDriverCommands::GetSystemTime
      TID SDC

      Assigns the string value of the current system time to a DDVariable.

      Assigns the string value of the current system time to a DDVariable. This date is in the format HH:MM:SS, it is in AM-PM 12-hours format (1-12) be default; If you set the second parameter 'GetMilitaryTime' to True, the time will be 24-hours military format (0-23). Use military time is recommanded, as am-pm time has confusion without AM or PM (example: 18:00 and 06:00 will be both 06:00)

      Fields: [ ]=Optional with Default Value
      1. VariableName
        The name of the variable to receive the System Time.

        The name of the variable to receive the System Time. Note, if you supply the name of the variable and include the leading caret (^) symbol then the variable must be enclosed in quotes. Otherwise, that variable will be used like any other variable and the substituted value of that variable will be interpretted as the name of the variable you wish to use.

      2. [ GetMilitaryTime = ]
        If true, the converted time is in 24-hours military time format

        If this is true, the converted time will be in 24-hours military time format (0-23). If this parameter is omitted, it is false be default, the converted time will be in AM-PM 12-hours format (1-12).

      Examples:
      • C, GetSystemTime, SystemTime
        Assigns system time to DDVariable ^SystemTime, the time will be in 12-hours format (1-12).


      • C, GetSystemTime, "SystemTime"
        Assigns system time to DDVariable ^SystemTime, the time will be in 12-hours format (1-12).


      • C, GetSystemTime, "^SystemTime"
        Assigns system time to DDVariable ^SystemTime, the time will be in 12-hours format (1-12).


      • C, SetVariableValues, ^SystemTime="CurrentTime"
        C, GetSystemTime, ^SystemTime

        Assigns system time to DDVariable ^CurrentTime, the time will be in 12-hours format (1-12).


      • C, GetSystemTime, SystemMilitaryTime, True
        Assigns system time to DDVariable ^SystemMilitaryTime, the time will be in military format, 24-hours (0-23).


      [How To Read This Reference]

      IOS DDDriverCommands::GetVersion
      TID SDC

      Get the engine VERSION

      Used to specify the VERSION of the engine.

      Fields: [ ]=Optional with Default Value
      1. Variable
        A variable to accept the VERSION


      Examples:
      • C Version var
        get the version of the engine in variable 'var'


      [How To Read This Reference]

      IOS DDDriverCommands::LaunchApplication
      TID IOS SDC

      Identify and Launch a specified application

      For IOS: This command is used to Launch the IOS Instruments testing tool. The user-defined Instrument's tracetemplate is used to launch the required application. The tester must run the Driver Command UseIOSFunctions set to "ON" before LaunchApplication or the IOS implementation of the command will not be invoked.

      For IOS Simulator testing: The Trace Template must be configured to hold all required information such as:

      • the application to be tested
      • the IOS SDK Version to use/simulate
      • the location for Instruments output logging

      For IOS Device testing: The Trace Template should be configured to hold the same information. However, at runtime the user still has to (re)specify the device name and application to run in the LaunchApplication CMDLineParams (see below). In addition, the devicename and/or appname CANNOT contain certain special characters like an apostrophe or single-quote (') since this will prevent AppleScript from making their proper selection.

      For Android testing: The AUT information is configured via the test INI file and the installed APKs. There are no parameters to provide to the LaunchApplication call when launching the application to be tested.



      Fields: [ ]=Optional with Default Value
      1. ApplicationID
        A text ID or name to reference the application

        A text ID or name to reference the application. Something to call it during possible future references in DDE tables or scripts. This is different than a window ID. It is what we want to call the App itself.

      2. ExecutablePath
        The path, filename, and parameters for the executable OR an ApplicationConstant.

        The path and filename to the executable OR an ApplicationConstant.
        This can and should include the full command line syntax with application specific command line parameters unless the application is unable to successfully handle this invocation.

        This ExecutablePath parameter may instead contain a reference to an ApplicationConstant from the currently active Application Map. The value of the retrieved constant will be used as the ExecutablePath.

        For IOS: This should resolve to the full path to the Instruments trace template that will be used to launch the application.



      3. [ WorkDir = ]
        A Working Directory for the application (if required)

        A Working Directory for the application (if required). Do not provide this if it is not required by the application. If you DO provide this then the DDE cannot automatically terminate the application if things go really bad.

        For IOS: This should resolve to be the path to the directory that will contain the Instruments output log.



      4. [ CMDLineParam = ]
        Separate command line parameters for the application (if required).

        Command line parameters for the application (if required). Do not provide this if it is not required by the application.

        For RRAFS: Try to include all command line parameters within the ExecutablePath
        If you DO provide separate command line paratmeters then the RRAFS DDE cannot automatically terminate the application if things go really bad.

        For IOS Device testing: the device and application must be specified exactly as they will appear in the Instruments "Choose Target" configuration menus. The parameters should be specified inline as:

        • -d [DeviceMenuItem] -app [AppNameMenuItem]

        Example: "-d Carls iPad (v5.0) -app UICatalog"

        For IOS Simulator testing: this parameter is not needed and should not contain any -d or -app options.

        For compatibility with different inputrecord separators, the SAFS/IOS engine supports different delimiters to be used with -d and -app. Supported Delimiters are (:;, ).

        Examples:

        • "-d:Carls iPad (v5.0) -app:UICatalog"
        • "-d;Carls iPad (v5.0) -app;UICatalog"
        • "-d,Carls iPad (v5.0) -app,UICatalog"
        • "-d Carls iPad (v5.0) -app UICatalog"

        (Of course, you cannot use a comma delimiter here if the inputrecord itself is comma delimited.)



      5. [ AppMap = ]
        Filename to the Application Map for the application.

        Filename to the Application Map for the application. You can provide a short filename (no path) if the map file can be found by the FindSQAFile function. Typically, the AppMap is placed in the project's Datapool directory.

      Examples:
      • C, LaunchApplication, NotePad, "notepad.exe c:\sample.txt"
        Launch Notepad with parameters allowing the DDE to terminate Notepad.


      • C, LaunchApplication, NotePad, SampleFile
        Launch Notepad using the ApplicationConstant "SampleFile" in the current AppMap.

        Launch Notepad using the ApplicationConstant "SampleFile" in the current AppMap. The SampleFile constant in the AppMap might contain the value: "notepad.exe c:\sample.txt"

      • C, LaunchApplication, MainAUT, "c:\MyApp.EXE", , , MainAppMap.MAP
        Launch MainAUT providing a reference to its AppMap.

        Launch MainAUT providing a reference to its AppMap.
        No working directory or separate command line parameters are provided.


      • C, LaunchApplication, MainAUT, "c:\AppDir\MyApp.EXE", "c:\AppDir\", "-s -e -automation", MainAppMap.MAP
        Launch MainAUT providing a working directory, command line parameters, and a reference to its AppMap.


      • C, LaunchApplication, MyIOSApp, MyAppTemplate, TheWorkDir
        Launch an IOS App on the IOS Simulator.

        MyAppTemplate and TheWorkDir are stored in the Application Map in ApplicationConstants and properly specify the path to the Trace Template and the path to the Instruments output folder as specified in the Trace Template.

      • C,LaunchApplication,MyIOSApp, "/Library/safs/samples/UICatalog/UICatalogInstruments.tracetemplate", "/Library/safs/samples/UICatalog/"
        Launch an IOS App on the IOS Simulator.

        The Trace Template and Output path are specified explicitly (not recommended).

      • C, LaunchApplication, MyIOSApp, MyAppTemplate, TheWorkDir, "-d:iPad2 (v5.0) -app:UICatalog"
        Launch an IOS App on the specified IOS Device.

        MyAppTemplate and TheWorkDir are stored in the Application Map in ApplicationConstants and properly specify the path to the Trace Template and the path to the Instruments output folder as specified in the Trace Template.

        The CMDLineParam specifies "-d:Device -app:AppName". The Device and AppName pieces must be specified exactly as they will appear in the Instruments Choose Target menus.



      [How To Read This Reference]

      IOS DDDriverCommands::NotifyAndWait
      TID SDC

      Display a user-defined message dialog and wait until dismissed.

      Display a user-defined message dialog and wait until dismissed. If prompting the user to perform some action the message should indicate the action should be completed BEFORE the dialog is dismissed. Once the dialog is dismissed automated test execution proceeds immediately.

      Fields: [ ]=Optional with Default Value
      1. Message
        The text message to be displayed in the dialog.

        The text message to be displayed in the dialog. The message should not contain the inputrecord field separator character nor linefeeds or carriage returns.

      2. [ Title = ]
        A short user-defined title for the dialog.

        A short user-defined title for the dialog. The message should not contain the inputrecord field separator character nor linefeeds or carriage returns.

      Examples:
      • C, NotifyAndWait, "Fix the app state and then press OK."
        Show the message using a default title and wait.


      • C, NotifyAndWait, "Fix the app state and then press OK.", "Fix Application"
        Show the message using the optional user-specified title and wait.


      [How To Read This Reference]

      IOS DDDriverCommands::Pause
      TID SDC

      Pause for a specified number of seconds.


      Fields: [ ]=Optional with Default Value
      1. Timeout
        The number of seconds to Pause.


      Examples:
      • C, Pause, 30
        Pause for 30 seconds.


      [How To Read This Reference]

      IOS DDDriverCommands::SaveClipboardToFile
      TID SDC

      Save the clipboard contents to a text file.

      Save the clipboard contents to a text file.

      This command can only save text contents of the clipboard. The length of the clipboard text should not exceed 32,767 characters due to the inherent size limit of SQABasic's String data type.



      Fields: [ ]=Optional with Default Value
      1. File
        The file to save the clipboard contents to.

        The file to save the clipboard contents to. This can be a full path, a relative path, or a file name. For relative path, it is appended to the project's path to build the full path of the file. For file name, the file is saved under the project's Datapool\Test directory. In any case the parent folder of the file must exist.

      2. [ Encoding = ]
        The encoding used to write a file.

        The encoding used to write a file. If user doesn't specify this parameter, the "UTF-8" encoding will be used.

      Examples:
      • C, SaveClipboardToFile, C:\Temp\myclipboard.txt
        Saves the current clipboard contents to C:\Temp\myclipboard.txt


      • C, SaveClipboardToFile, Datapool\myclipboard.txt
        Saves the current clipboard contents to Datapool\myclipboard.txt


      • C, SaveClipboardToFile, myclipboard.txt
        Saves the current clipboard contents to Datapool\Test\myclipboard.txt


      • C, SaveClipboardToFile, C:\Temp\myclipboard.txt, "ANSI"
        Saves the current clipboard contents to C:\Temp\myclipboard.txt with "ANSI" encoding


      [How To Read This Reference]

      IOS DDDriverCommands::SendEmail
      TID

      Send email notification with attachments.

      Send email notification with attachments. Mutiple TOs, custom subject line, custom message and attachment are allowed. HTML tag pass into message to display message into HTML format.
      NOTE:
      Prerequisite: Provide mail setting in configuration file (.ini), you could ask your IT administrator to set them correctly.
      [SAFS_DRIVERCOMMANDS]
      OUT_MAILSERVER="mail server"
      OUT_MAILSERVERPORT=25|465|587
      OUT_MAILSERVERPROTOCOL=SMTP|SMTPS|TLS
      OUT_MAILUSER=user.name@mail.com
      OUT_MAILPASS=user.password


      Fields: [ ]=Optional with Default Value
      1. From
        Email address sending the Email.

        Email address of the user or system sending the email.

      2. To
        Email addresses to receive the email.

        Email addresses to receive the email. Multiple addresses can be specified with semicolon or comma separators--whichever is NOT the field separator for the record.

      3. Subject
        The Subject of the email.


      4. [ Message = ]
        Text or HTML message.

        Text or HTML message can be specified. HTML message requires HTML tag to work properly. The message cannot contain the field separator for the record.

      5. [ Attachment = ]
        Email attachment file path

        Email attachment file path. Multiple filepaths (files) can be specified with semicolons or comma separators--whichever is NOT the field separator for the record.

      Examples:
      • C, SendEmail, "TestSuite@company.com", "TestMonitor@company.com", "TestSuite Results Report" ,"PASSED"
        Send email indicating a specific TestSuite has PASSED.


      • C, SendEmail, "TestSuite@company.com", "TestMonitor@company.com;bob.cares@company.com", "TestSuite Screenshot" , "Screenshot Feature 2", "fullpath/To/Test/ScreenShotF2.jpg"
        Send email to a monitor and Bob and a screenshot.


      [How To Read This Reference]

      IOS DDDriverCommands::SetApplicationMap
      TID

      Provide the Application Map for the DDE to use

      Provide the Application Map for the DDE to use. This command must be used prior to ANY other command or script referencing the AppMap can be used. The AppMap can also be set by the DDE initialization script or another script with the function AUSetCurrentAppMap.

      In addition to loading the Application Map, WRAFS will also load the GUI Map file in Winrunner. For this reason, the Application map and GUI Map File must have the same name.



      Fields: [ ]=Optional with Default Value
      1. ApplicationMap
        The path and/or filename of the Application Map to use

        The path and/or filename of the Application Map to use. The short filename without the path can be used if the file can be found via FindSQAFile. Typically, the AppMap is located in the project's Datapool directory.

      Examples:
      • C, SetApplicationMap, NotePad.Map
        Set the Application Map to be Notepad.Map in the Datapool directory.


      • C, SetApplicationMap, "C:\SomeDir\NewApp.Map"
        Set the Application Map to an explicitly pathed Map


      [How To Read This Reference]

      IOS DDDriverCommands::SetBenchDirectory
      TID SDC

      Set/Change the directory in which the framework will find benchmark files by default.

      The path must already exist. If the path is invalid the previous setting will be retained (and logged). Any incomplete path will be assumed to be relative to the current project directory.

      Fields: [ ]=Optional with Default Value
      1. Path
        The full or project relative path to the new directory.


      Examples:
      • C, SetBenchDirectory, "C:\MyRepo\MyProject\AltPath\Bench"
        Set the new default location for stored benchmark files.


      • C, SetBenchDirectory, "AltPath\Bench"
        Set the new default location for stored benchmark files.


      [How To Read This Reference]

      IOS DDDriverCommands::SetClipboard
      TID SDC

      Set the clipboard contents to a string.

      Set the clipboard contents to a string.

      Fields: [ ]=Optional with Default Value
      1. Str
        The string to set the clipboard contents to.

        The string to set the clipboard contents to.

      Examples:
      • C, SetClipboard, "This should go into the clipboard"
        Sets the current clipboard contents to the string


      [How To Read This Reference]

      IOS DDDriverCommands::SetDifDirectory
      TID SDC

      Set/Change the directory in which the framework will locate file compare differences.

      The path must already exist. If the path is invalid the previous setting will be retained (and logged). Any incomplete path will be assumed to be relative to the current project directory.

      Fields: [ ]=Optional with Default Value
      1. Path
        The full or project relative path to the new directory.


      Examples:
      • C, SetDifDirectory, "C:\MyRepo\MyProject\AltPath\Dif"
        Set the new default location for file compare differences.


      • C, SetDifDirectory, "AltPath\Dif"
        Set the new default location for file compare differences.


      [How To Read This Reference]

      IOS DDDriverCommands::SetImageDebug
      TID

      Enable/Disable verbose debug log output and high-res failure snapshots.

      By default the image-based testing algorithm writes JPG screenshots to the Datapool\Test directory when an image search fails to locate the desired image onscreen. These images can help the user know the state of the system at the time of a specific test failure.

      However, these images are not suitable for more advanced debugging purposes such as finding out 'why' a target image was not found in the screenshot when it appears it should have been found.

      Enabling image debugging allows the system to output full-resolution BMP images into the Datapool\Test directory instead of JPG images. It also writes more verbose debug information into the SAFS Debug Log if the user has the Debug Log running during the test. See: Debug Log Doc



      Fields: [ ]=Optional with Default Value
      1. Mode
        The boolean status for enabling extended image debugging.

        Valid case-insensitive values to enable are "TRUE", "ON", "YES", "1", and "-1". All other values will disable this mode.

      Examples:
      • C, SetImageDebug, ON
        Switch enhanced image debugging features ON.


      • C, SetImageDebug, Nope
        Switch enhanced image debugging features OFF.


      [How To Read This Reference]

      IOS DDDriverCommands::SetImageFuzzyMatching
      TID

      Enable/Disable Image-Based Testing Fuzzy Matching.

      Allows more robust fuzzy matching on image comparisons during Image-Based Testing. Image-Based Testing recognition strings must have a BitTolerance (BT) of less than 100% specified for an image that is intended to be found with the fuzzy matching algorithm.

      Fields: [ ]=Optional with Default Value
      1. Mode
        The boolean status for enabling extended image-based fuzzy matching.

        Valid case-insensitive values to enable are "TRUE", "ON", "YES", "1", and "-1". All other values will disable this mode.

      Examples:
      • C, SetImageFuzzyMatching, ON
        Switch enhanced image fuzzy matching features ON.


      • C, SetImageFuzzyMatching, OFF
        Switch enhanced image matching features OFF.


      [How To Read This Reference]

      IOS DDDriverCommands::SetMillisBetweenRecords
      TID

      Set the pause between two records.

      Set the pause between two records. This time is milli-seconds.

      Fields: [ ]=Optional with Default Value
      1. Value
        The value of the pause between two records.

        The value of the pause between two records.

      Examples:
      • C, SetMillisBetweenRecords, 1000
        Set the pause between two records to 1000 milliseconds.


      [How To Read This Reference]

      IOS DDDriverCommands::SetMultipleThreadSearch
      TID

      Turn on or trun off the multi-thread-search way to search an image.

      Turn on or trun off the multi-thread-search way to search an image. If set true, program will search an image by multi-thread; If false, program will use single-thread to search.

      Fields: [ ]=Optional with Default Value
      1. OnOrOff
        Turn on or turn off multi-thread-search. This parameter should be given as "On" or "Off".


      Examples:
      • C, SetProjectDirectory, "On"
        This lets SAFS to search an image on screen by multi-thread.


      [How To Read This Reference]

      IOS DDDriverCommands::SetProjectDirectory
      TID SDC

      Set/Change the framework project directory.

      The path must already exist. If the path is invalid the previous setting will be retained (and logged).

      Fields: [ ]=Optional with Default Value
      1. Path
        The full path to the new directory.


      Examples:
      • C, SetProjectDirectory, "C:\MyRepo\MyProject\AltPath"
        Set the new default project location.


      [How To Read This Reference]

      IOS DDDriverCommands::SetRootVerifyDirectory
      TID SDC

      Set/Change the Bench, Test, and Dif directories to be subdirectories off of the provided path.

      The path must already exist. If the path is invalid the previous settings for Bench, Test, and Dif will be retained and a FAILURE will be reported. The Bench, Test, and Dif subdirectories must also exist.

      Any incomplete path will be assumed to be relative to the current project directory. It is important to note that the provided path can be valid, yet the expected "Bench", "Test", and "Dif" subdirectories may not be valid. In that scenario, no failure will be reported, and the previous settings for Bench, Test, and Dif will be retained (and logged).



      Fields: [ ]=Optional with Default Value
      1. Path
        The full or project relative path to the root directory for Bench, Test, and Dif.


      Examples:
      • C, SetRootVerifyDirectory, "C:\MyRepo\MyProject\AltPath"
        Set the new root directory for Bench, Test, and Dif files.


      • C, SetRootDirectory, "AltPath"
        Set the new root directory for Bench, Test, and Dif files.


      [How To Read This Reference]

      IOS DDDriverCommands::SetTestDirectory
      TID SDC

      Set/Change the directory in which the framework will find test files (captured "actuals") by default.

      The path must already exist. If the path is invalid the previous setting will be retained (and logged). Any incomplete path will be assumed to be relative to the current project directory.

      Fields: [ ]=Optional with Default Value
      1. Path
        The full or project relative path to the new directory.


      Examples:
      • C, SetTestDirectory, "C:\MyRepo\MyProject\AltPath\Test"
        Set the new default location for captured test files.


      • C, SetTestDirectory, "AltPath\Test"
        Set the new default location for captured test files.


      [How To Read This Reference]

      IOS DDDriverCommands::SetVariableValueEx
      TID SDC

      Set the value of a DDVariable

      The name field can contain literal string, DDVariable, or any expression that evaluates to a valid variable name.

      Fields: [ ]=Optional with Default Value
      1. VariableName
        The name of the variable


      2. VariableValue
        The value to assign to the variable


      Examples:
      • C, SetVariableValueEx, var, value
        Set variable var to contain "value" (euivalent to ^var=value)


      • C, SetVariableValueEx, ^varname, value
        Given ^varname contains "var", set variable var to "value"


      • C, SetVariableValueEx, ^basename & ^index, value
        Any expression that evaluates to a valid DDVariable name may be used for the name field.


      [How To Read This Reference]

      IOS DDDriverCommands::SetVariableValues
      TID SDC

      Preset the value of one or more DDVariables

      Preset the value of one or more DDVariables.
      Each subsequent field can contain one variable expression.

      Note: SAFS/DriverCommands and RobotJ actually implement an incompatible version of this command. However, that version is normally never called by standard SAFS Drivers.

      The variable handling is actually already done before Driver Commands can be called, and true Drivers or Processors do nothing but log success and return "NoScriptFailure".

      The command remains for RobotJ and SAFS/DriverCommands for those people using not standard Drivers that do not process expressions before this call. These are a rare breed, indeed!



      Fields: [ ]=Optional with Default Value
      1. VariableName
        The name of the variable along with its value assignment


      Examples:
      • C, SetVariableValues, ^var1=value
        Set variable var1 to contain "value"


      • C, SetVariableValues, ^var1=value, ^var2=value2, ^var3=^var1
        Set multiple variable values


      [How To Read This Reference]

      IOS DDDriverCommands::StartWebBrowser
      TID SDC

      Launch a new web browser and optionally load a document into it.

      Windows TID, SDC, and RFT Support:
      This command in the above engines now supports using the System default browser. By default, the System default browser will be used to launch the URL. (Previous versions of this command were unfortunately hardcoded to use Internet Explorer only.)

      In addition, the tester can set a SAFS variable directly or through ApplicationConstants to provide the full path to an alternate browser executable. By setting and clearing this variable the tester can switch between using the System default browser and an alternate browser dynamically during runtime.

      Variable Name: SAFSWebBrowserPath

        Sample SAFS variable usage:	
        
        ;Set an alternate browser to use:
        C, SetVariableValues, ^SAFSWebBrowserPath="C:\Program Files\Mozilla Firefox\firefox.exe"
        			
        ;Clear to return to System default browser:
        C, SetVariableValues, ^SAFSWebBrowserPath=""
        			
        Sample ApplicationConstants usage:
        			
        ;provide a value used for all browser launches
        [ApplicationConstants]
        ...
        SAFSWebBrowserPath="C:\Program Files\Mozilla Firefox\firefox.exe"
        
      (Note: if the tester ever "sets" or clears the SAFS variable then any ApplicationConstants setting is no longer used.)
      Selenium Note:The parameters from 4 are specially for Selenium 2.0 (WebDriver) for now.
      The parameters from 8 are extra parameter settings for Selenium 2.0 (WebDriver), they appear as pair(key, value), for example #8 is the key, #9 is the value; #10 is the key, #11 is the value; and so on. you can specify extra parameters as many as wanted if they are supported.


      Fields: [ ]=Optional with Default Value
      1. [ URL = ]
        URL of a web resource to load in the new browser instance.

        This field can be empty which may produce different results in different browsers. When using the system default browser on Windows, this empty field will typically generate a blank web page, or an "about:blank" page.

        Some browsers, like Internet Explorer, support other URLs like "about:home"-- which will launch the browser and display whatever the Home page is set to. However, not all browsers support this.

        For consistency, it is usually necessary to include the full URL syntax--including the protocol portion of the URL (http://, https://, ftp://, etc..).



      2. [ WindowTag = ]
        A WindowTag or Browser ID to call the new browser instance.

        This Tag might be used by some test tools to track specific browser instances, but not all test tools are able to support this type of browser Tagging.
        SE2The identifier used to store the webdriver for the opened browser. It can be used to switch between opened browsers or close one of them.


      3. [ BrowserName = firefox ]
        SE2The browser to open. It can be "explorer", "chrome" or "firefox". "firefox" is default.


      4. [ timeout = 15 ]
        SE2Specifies the amount of time the selenium web driver should wait when searching for an element if it is not immediately present.


      5. [ IsRemoteBrowser = true ]
        SE2True = use Selenium RemoteDriver.

        True = use Selenium RemoteDriver. Otherwise, use the FirefoxDriver, ChromeDriver or InternetExplorerDriver.
        This parameter is ignored now for SE2 as it always uses a RemoteDriver.


      6. [ ExtraParamKey = ]
        SE2The extra parameter key. You can use one of Extra parameter keys.


      7. [ ExtraParamValue = ]
        SE2The value of the extra parameter indicated by ExtraParamKey above.


      Examples:
      • C, StartWebBrowser
        Launch a new browser with no special ID and no URL to load.


      • C, StartWebBrowser, "", WebBrowser
        Launch a new browser with a WindowTag of WebBrowser and no URL to load.


      • C, StartWebBrowser, "http://aUrl.jsp", WebBrowser
        Launch a new browser with a WindowTag of WebBrowser and a URL to load.


      • C, StartWebBrowser, "http://aUrl.jsp"
        SE2Launch a new firefox browser with a URL to load.


      • C, StartWebBrowser, "http://aUrl.jsp", "", "FirstTestPage", "firefox", 20
        SE2Launch a new firefox browser with a URL to load, this browser will be stored with ID 'FirstTestPage' and on this page the search of webelement has a timeout of 20 seconds.


      • C, StartWebBrowser, "http://aUrl.jsp", "", "FirstTestPage", "firefox", 20, "", "KEY_PROXY_SETTING", "proxy-server:80"
        SE2Launch a new firefox browser with a URL to load, this browser will be stored with ID 'FirstTestPage' and on this page the search of webelement has a timeout of 20 seconds, and the internet proxy server has been set to "proxy-server:80" for this browser.


      • C, StartWebBrowser, "http://www.google.com", "", "GoogleMain", "firefox", 20, "", "FirefoxProfile", "myprofile"
        SE2Launch a new firefox browser with custom profile "myprofile" (Create custom profile), Google page will be loaded, this browser will be stored with ID 'GoogleMain' and on this page the search of webelement has a timeout of 20 seconds.


      • C, StartWebBrowser, "http://www.google.com", "", "GoogleMain", "chrome", 20, "", "user-data-dir", "c:\chrome_custom_data"
        SE2Launch a new chrome browser with custom data pool "c:\chrome_custom_data" (Create custom data pool), Google page will be loaded, this browser will be stored with ID 'GoogleMain' and on this page the search of webelement has a timeout of 20 seconds.


      • C, StartWebBrowser, "http://www.google.com", "", "GoogleMain", "chrome", 20, "", "user-data-dir", "C:\Users\xxx\AppData\Local\Google\Chrome\User Data"
        SE2Launch a new chrome browser with default data pool "C:\Users\xxx\AppData\Local\Google\Chrome\User Data" using the recent chrome user (chrome://version/, see "Profile Path"), Google page will be loaded, this browser will be stored with ID 'GoogleMain' and on this page the search of webelement has a timeout of 20 seconds.


      • C, StartWebBrowser, "http://www.google.com", "", "GoogleMain", "chrome", 20, "", "user-data-dir", "C:\Users\xxx\AppData\Local\Google\Chrome\User Data", "profile-directory", "Profile 1"
        SE2Launch a new chrome browser with default data pool "C:\Users\xxx\AppData\Local\Google\Chrome\User Data" using the first chrome user (chrome://version/, see "Profile Path"), Google page will be loaded, this browser will be stored with ID 'GoogleMain' and on this page the search of webelement has a timeout of 20 seconds.


      • C, StartWebBrowser, "http://www.google.com", "", "GoogleMain", "chrome", 20, "", "excludeSwitches", "disable-component-update; ignore-certificate-errors"
        SE2Launch a new chrome browser with temporary data pool and with option '--disable-component-update' and '--ignore-certificate-errors' excluded, (chrome://version/, see "Profile Path"), Google page will be loaded, this browser will be stored with ID 'GoogleMain' and on this page the search of webelement has a timeout of 20 seconds.
        The value "disable-component-update; ignore-certificate-errors" can also be separated by comma if semicolon conflicts with your test-record-separator


      [How To Read This Reference]

      IOS DDDriverCommands::TakeScreenShot
      TID

      Take screenshot and save it to a file on test machine.

      Take screenshot and save it to a file on test machine.

      Fields: [ ]=Optional with Default Value
      1. FileName
        The file to store the screeshot. (For Android Engine, the screenshot is device/emulator's)

        The file to store the screeshot. (For Android Engine, the screenshot is device/emulator's) It can be a full path name; If it is only a filename, the image will be stored to sub directory "test" of your project; If it is a filename including path-separator, it will be concatanated to the "datapool" of your project to create a fullpath file.

      2. [ Rotatable = ]
        For other Engine, this parameter will be ignored. For Android Engine, if the android application is rotatable, you set this parameter to True. The default is True.

        For other Engine, this parameter will be ignored. For Android Engine, if the android application is rotatable, that is to say the application will adjust its direction and keep upstraight when you rotate your device. If the android application is rotatable and this parameter is set to False, the screenshot maybe upside down.

      3. [ SubArea = ]
        Optional sbuarea indicating partial image of the screen to capture.

        Optional sbuarea indicating partial image of the screen to capture. The value must be in the format of a top-left and bottom-right pair, and can be either absolute coordinates or percentages ("x1,y1,x2,y2" or "x1%,y1%,x2%,y2%"). Coordinates are relative to the screen, i.e. (0,0) and (0%,0%) are the minimum, and (SCREEN_WIDTH, SCREEN_HEIGHT) and (100%,100%) are the maximum. Values exceeding the minimun/ maximum are forced to the nearest limiting value. Absolute and percent values can be mixed, so "0,0,50%,50%" is valid. If this parameter is omitted, full image of the screen is captured (equivalent to "0,0,100%,100%").

      Examples:
      • C, TakeScreenShot, "screenshot.png", Yes
        Get the screenshot and save the image to file YourTestProject\Datapool\Test\screenshot.png


      • C, TakeScreenShot, "d:\temp\image\screenshot.png", No
        Get the screenshot and save the image to file d:\temp\image\screenshot.png


      • C, TakeScreenShot, "image\screenshot.png"
        Get the screenshot and save the image to file YourTestProject\Datapool\image\screenshot.png


      • C, TakeScreenShot, "screenshotPart.png", , "0;0;50%;50%"
        Get part of the screenshot and save the image to file YourTestProject\Datapool\Test\screenshotPart.png


      [How To Read This Reference]

      IOS DDDriverCommands::UseAbbotFunctions
      TID

      Enable/Disable the switch to "prefer" ABBOT Functions over any other engine functions.

      If enabled, and the ABBOT engine is up and running, the Driver will always attempt to execute test records through Abbot first before any other.

      If the ABBOT engine is not fully available, this command will generate and log a WARNING. If the record type contains the "W" (Warning allowed) modifier then we will issue an appropriate log message, but no WARNING will be counted.



      Fields: [ ]=Optional with Default Value
      1. Mode
        The switch status for enabling the preference of the engine. Valid values are "ON" and "OFF".


      Examples:
      • C, UseAbbotFunctions, ON
        Switch to prefer Abbot Functions over any other engine.


      [How To Read This Reference]

      IOS DDDriverCommands::UseDroidFunctions
      TID

      Enable/Disable the switch to "prefer" Droid Functions over the current engine functions (like Robot Classic).

      If enabled and the Droid hooking mechanism is up and running the Driver will always attempt to execute test records through Droid first before defaulting to the current engine (like Robot Classic).

      If the Droid hook is not fully available, this command will generate and log a WARNING.



      Fields: [ ]=Optional with Default Value
      1. Mode
        The switch status for enabling the use of the Droid hook. Valid values are "ON" and "OFF".


      Examples:
      • C, UseDroidFunctions, ON
        Switch to prefer Droid Functions over the current engine.


      [How To Read This Reference]

      IOS DDDriverCommands::UseIOSFunctions
      TID

      Enable/Disable the switch to "prefer" IOS Functions over any other engine functions.

      If enabled, and the IOS engine is up and running, the Driver will always attempt to execute test records through IOS first before any other.

      If the IOS engine is not fully available, this command will generate and log a WARNING. If the record type contains the "W" (Warning allowed) modifier then we will issue an appropriate log message, but no WARNING will be counted.



      Fields: [ ]=Optional with Default Value
      1. Mode
        The switch status for enabling the preference of the engine. Valid values are "ON" and "OFF".


      Examples:
      • C, UseIOSFunctions, ON
        Switch to prefer IOS Functions over any other engine.


      [How To Read This Reference]

      IOS DDDriverCommands::UseQTPFunctions
      TID

      Enable/Disable the switch to "prefer" QTP Functions over any other engine functions.

      If enabled, and the QTP engine is up and running, the Driver will always attempt to execute test records through QTP first before any other.

      If the QTP engine is not fully available, this command will generate and log a WARNING. If the record type contains the "W" (Warning allowed) modifier then we will issue an appropriate log message, but no WARNING will be counted.



      Fields: [ ]=Optional with Default Value
      1. Mode
        The switch status for enabling the preference of the engine. Valid values are "ON" and "OFF".


      Examples:
      • C, UseQTPFunctions, ON
        Switch to prefer QTP Functions over any other engine.


      [How To Read This Reference]

      IOS DDDriverCommands::UseRobotJFunctions
      TID

      Enable/Disable the switch to "prefer" RobotJ Hook Component Functions over Robot Classic Component Functions.

      If enabled and the RobotJ hooking mechanism is up and running then StepDriver will always attempt to execute test records (T) through RobotJ first before defaulting to Robot Classic.

      If the RobotJ hook is not fully available, this command will generate and log a WARNING. If the record type is "CW" (Warning allowed), then we will issue an appropriate log message, but no WARNING will be counted.



      Fields: [ ]=Optional with Default Value
      1. Mode
        The switch status for enabling the use of the RobotJ hook. Valid values are "ON" and "OFF".


      Examples:
      • C, UseRobotJFunctions, ON
        Switch to prefer RobotJ Component Functions over Robot Classic.


      [How To Read This Reference]

      IOS DDDriverCommands::UseSAFSFunctions
      TID

      Enable/Disable the switch to "prefer" SAFS (SDC) Functions over the current engine functions (like Robot Classic).

      If enabled and the SAFS hooking mechanism is up and running the Driver will always attempt to execute test records through SAFS first before defaulting to the current engine (like Robot Classic).

      If the SAFS hook is not fully available, this command will generate and log a WARNING. If the record type contains the "W" (Warning allowed) modifier then we will issue an appropriate log message, but no WARNING will be counted.



      Fields: [ ]=Optional with Default Value
      1. Mode
        The switch status for enabling the use of the SAFS hook. Valid values are "ON" and "OFF".


      Examples:
      • C, UseSAFSFunctions, ON
        Switch to prefer SAFS Functions over the current engine.


      [How To Read This Reference]

      IOS DDDriverCommands::UseSeleniumFunctions
      TID

      Enable/Disable the switch to "prefer" Selenium Functions over the current engine functions (like Robot Classic).

      If enabled and the Selenium hooking mechanism is up and running the Driver will always attempt to execute test records through Selenium first before defaulting to the current engine (like Robot Classic).

      If the Selenium hook is not fully available, this command will generate and log a WARNING.



      Fields: [ ]=Optional with Default Value
      1. Mode
        The switch status for enabling the use of the Selenium hook. Valid values are "ON" and "OFF".


      Examples:
      • C, UseSeleniumFunctions, ON
        Switch to prefer Selenium Functions over the current engine.


      [How To Read This Reference]

      IOS DDDriverCommands::UseTestCompleteFunctions
      TID

      Enable/Disable the switch to "prefer" TestComplete (TCAFS) Functions over any other engine functions.

      If enabled, and the TCAFS engine is up and running, the Driver will always attempt to execute test records through TCAFS first before any other.

      If the TCAFS engine is not fully available, this command will generate and log a WARNING. If the record type contains the "W" (Warning allowed) modifier then we will issue an appropriate log message, but no WARNING will be counted.



      Fields: [ ]=Optional with Default Value
      1. Mode
        The switch status for enabling the preference of the engine. Valid values are "ON" and "OFF".


      Examples:
      • C, UseTestCompleteFunctions, ON
        Switch to prefer TCAFS Functions over any other engine.


      [How To Read This Reference]

      IOS DDDriverCommands::VerifyClipboardToFile
      TID SDC

      Verify the current contents of the Windows clipboard with a benchmark file.

      Verify the current contents of the Windows clipboard with a benchmark file.
      Typically, benchmarks are stored in the Datapool\Bench directory. In that event, only the filename.ext is needed. There is currently a limit of 32K allowed for this type of comparison.
      The Window and Component objects are not validated and have no role. The Window and Component strings can be any text, but they cannot be blank.

      The command will produce a TEST WARNING if the user has configured an alternate DIFF tool for which we have no means to compare the diff results. If this WARNING is expected, the user should use the "TW" test record type.



      Fields: [ ]=Optional with Default Value
      1. BenchmarkFile
        The name of the file used as the comparison benchmark.

        The name of the file used as the comparison benchmark.
        Typically, benchmarks are stored in the Datapool\Bench directory. In that event, only the filename.ext is needed.


      2. [ Encoding = ]
        The encoding used to read a file.

        The encoding used to read a file. If user doesn't specify this parameter, the "UTF-8" encoding will be used.

      Examples:
      • C, VerifyClipboardToFile, myclipboard.txt
        Verifieis the current clipboard contents to benchmark file myclipboard.txt


      • C, VerifyClipboardToFile, C:\Temp\myclipboard.txt
        Verifieis the current clipboard contents to C:\Temp\myclipboard.txt


      • C, VerifyClipboardToFile, C:\Temp\myclipboard.txt, "Ansi"
        Verifieis the current clipboard contents to C:\Temp\myclipboard.txt, the file will be opened with "Ansi" encoding.


      [How To Read This Reference]

      IOS DDDriverCommands::Version
      TID

      Specify the table format VERSION

      Used to specify the VERSION of the table format. This is currently not required since there is only one current version of the table format--1.0.

      Fields: [ ]=Optional with Default Value
      1. Version
        The VERSION of the table format. Initially "1.0"


      Examples:
      • C Version 1.0
        Specify that the table format is VERSION 1.0


      [How To Read This Reference]

      IOS DDDriverCommands::WaitForGUI
      TID

      Wait for a Window or Window Component to become valid.

      Note: the TID supports this command using Image-Based Testing techniques and App Map entries.



      Fields: [ ]=Optional with Default Value
      1. WindowID
        A Window reference from the AppMap


      2. ComponentID
        A reference from the AppMap for the Component within the Window to wait for.

        A reference from the AppMap for the Component within the Window to wait for. If the Window is the item of interest then both the WindowID and ComponentID will be the same.

      3. [ Timeout = 15 ]
        Timeout value in seconds before exiting automatically.


      Examples:
      • C, WaitForGUI, AWindow, AWindow
        Waits up to 30 seconds for AWindow to become valid.


      • C, WaitForGUI, AWindow, AWindow, 10
        Waits up to 10 seconds for AWindow to become valid.


      • C, WaitForGUI, AWindow, AComponent, 10
        Waits up to 10 seconds for AComponent within AWindow to become valid.


      [How To Read This Reference]

      IOS DDDriverCommands::WaitForGUIGone
      TID

      Wait for a Window or Window Component to become invalid.

      Note: the TID supports this command using Image-Based Testing techniques and App Map entries.



      Fields: [ ]=Optional with Default Value
      1. WindowID
        A Window reference from the AppMap


      2. ComponentID
        A reference from the AppMap for the Component within the Window to watch.

        A reference from the AppMap for the Component within the Window to watch. If the Window is the item of interest then both the WindowID and ComponentID will be the same.

      3. [ Timeout = 15 ]
        Timeout value in seconds before exiting automatically.


      Examples:
      • C, WaitForGUIGone, AWindow, AWindow
        Waits up to 30 seconds for AWindow to become invalid.


      • C, WaitForGUIGone, AWindow, AWindow, 10
        Waits up to 10 seconds for AWindow to become invalid.


      • C, WaitForGUIGone, AWindow, AComponent, 10
        Waits up to 10 seconds for AComponent within AWindow to become invalid.


      [How To Read This Reference]

      IOS DDDriverCommands::WaitForRegistryKeyExists
      SDC TID

      Wait for a Registry Key to become valid.

      On Windows XP (and higher?) this is accomplished via the REG.EXE provided by the operating system. If this program is NOT available then the Registry commands will not work until another means is implemented--possibly Windows Scripting Host scripts, etc..

      Fields: [ ]=Optional with Default Value
      1. Key
        The Registry Key name to seek.


      2. [ KeyValue = ]
        The value name under the parent key to seek.

        The value name under the parent key. If not provided then we just check to see if the provided parent key exists.

      3. [ Timeout = 15 ]
        Timeout value in seconds before exiting automatically.


      Examples:
      • C, WaitForRegistryKeyExists, "HKLM\Software\Rational Software\Rational Test\8", "Install Directory", 5
        Waits up to 5 seconds for the Install Directory value key to exist.


      • C, WaitForRegistryKeyExists, "HKLM\Software\Rational Software\Rational Test\8", "", 0
        Checks only once (0 timeout) to see if the provided key exists.


      • C, WaitForRegistryKeyExists, "HKLM\Software\Rational Software\Rational Test\8"
        Loops for up to the default 15 seconds for the provided key to exist.


      [How To Read This Reference]

      IOS DDDriverCommands::WaitForRegistryKeyValue
      SDC TID

      Wait for a specific Registry KeyValue to match an expected value.

      On Windows XP (and higher?) this is accomplished via the REG.EXE provided by the operating system. If this program is NOT available then the Registry commands will not work until another means is implemented--possibly Windows Scripting Host scripts, etc..

      Fields: [ ]=Optional with Default Value
      1. Key
        The Registry Key name to seek


      2. KeyValue
        The value name under the parent key to seek.

        The value name under the parent key. If not provided then we just check to see if the provided parent key exists.

      3. ExpectedValue
        Case-sensitive value to match with the key value.


      4. [ Timeout = 15 ]
        Timeout value in seconds before exiting automatically.


      5. [ CaseInsensitive = ]
        Values of "CASE-INSENSITIVE", "CASEINSENSITIVE", and "FALSE" will cause the comparison of the key value and the expected value to ignore case.

        All engines may not support this parameter at this time.

      Examples:
      • C, WaitForRegistryKeyValue, "HKLM\Software\Adobe\CommonFiles", "UsageCount", "0x1"
        Waits up to 15 seconds for the UsageCount key value to contain "0x1".

        The comparison IS case-sensitive

      • C, WaitForRegistryKeyValue, "HKLM\Software\Adobe\CommonFiles", "UsageCount", "0x1", 45
        Waits up to 45 seconds for the UsageCount key value to contain "0x1".

        The comparison IS case-sensitive

      • C, WaitForRegistryKeyValue, "HKLM\Software\Adobe\CommonFiles", "UsageCount", "0X1", 5, CASEINSENSITIVE
        Waits up to 5 seconds for the UsageCount key value to contain "0x1".

        The comparison IS NOT case-sensitive

      • C, WaitForRegistryKeyValue, "HKLM\Software\Adobe\CommonFiles", "UsageCount", "0X1", "", FALSE
        Waits up to 15 seconds for the UsageCount key value to contain "0x1".

        The comparison IS NOT case-sensitive

      [How To Read This Reference]