DDDriverFlowCommands::CallCycle
Invoke a Cycle table (from StepDriver or SuiteDriver)
Since the Cycle is executed as a driver command
and NOT as a test record, the call to the
Cycle itself is not counted as a test pass or a test fail.
Fields: [ ]=
Optional with Default Value
-
CycleName
The name of the Cycle table to execute.
- [ CycleSeparator = ]
The field separator used by the table--if required.
Only necessary if the table uses a different field separator than
that already set for CycleDriver. Use an empty string or an empty
field to keep the field separator already in use.
Typically, all the tables use the same separator so this can usually
be left empty.
- [ ParameterName = AValue ]
One or more parameter values to send to the Cycle--each in their own field.
Examples:
-
C, CallCycle, "MyCycle"
Invoke MyCycle which does not require or expect parameters.
-
C, CallCycle, "MyCycle", ";"
Invoke MyCycle which uses a semi-colon as a field delimiter.
-
C, CallCycle, "AnotherCycle", "", ^FName="John", ^LName="Smith"
Invoke AnotherCycle using the existing field separator and passing two parameters.
[How To Read This Reference]
DDDriverFlowCommands::CallJUnit
Invoke one or more JUnit tests using the provided Class name(s).
Because JUnit is a testing framework; test_record, test_passes, and test_failure counts within the status counters
will be updated when possible.
If properly configured with SAFS RuntimeDataAwareness (dependency injection of SAFS Driver instances) the JUnit
test has full access to all SAFS services including SAFS App Map data and SAFS Variable storage.
JUnit tests can be intermixed with other SAFS tests.
NOTE:
SE2HTM :
All SeleniumPlus actions, command, and libraries are available.
Access SeleniumPlus actions and commands through the SeleniumPlus static methods and fields.
Fields: [ ]=
Optional with Default Value
-
ClassName
The name of one or more Classes to execute.
Class names are in the normal full package.Class format.
Multiple classes can be separated by SEMI-COLONs, COLONs, COMMAs, or SPACES--
whichever is NOT being used as the test record separator.
The same separator should be used between all Classes.
The Classes to execute must be findable within the JVM ClassPath.
Examples:
-
C, CallJUnit, "com.sas.spock.tests.SpockExperiment"
Have JUnit execute the com.sas.spock.tests.SpockExperiment Class.
Test Records, Test Passes, and Test Failures will be added to the overall SAFS Test Status
upon completion of the JUnit test.
-
C, CallJUnit, "myapp.tests.APITest myapp.tests.RESTTest"
Have JUnit execute 2 different tests.
Test Records, Test Passes, and Test Failures will be added to the overall SAFS Test Status
upon completion of the JUnit tests.
[How To Read This Reference]
DDDriverFlowCommands::CallScript
Invoke a custom script with passed parameters/variables, if desired.
Since the script is executed as a Driver Command and NOT a test;
test_record, test_passes, and test_failures information within the status counters
are not updated.
For Rational Robot, if the called script wishes to record
tests attempted, pass, and failure counts then it must
do so itself by updating the ScriptStatusInfo fields
accordingly.
The name of the script must not include the file extension.
Any number of parameters can be passed to the script.
These parameters are passed as DDVariables and\or SAFSVARS variables.
The variables and their values are available to the script and all of SAFS.
These parameters are usually specific to each called script. The script can also
set variable values for use by SAFS test tables.
With Robot, the script can get/set variable values from the DDVariableStore.
With Rational Functional Tester, the custom script should follow this Script Javadoc.
For Apple IOS, consult the SAFS IOS Developer's Guide.
NOTE:SE2HTM :
Selenium 2.0 support executes a SeBuilder JSON Script while supporting PAUSE, STEP, and STEP RETRY of indidividual
Script Steps through the SAFS Monitor.
The SAFS Monitor must be enabled and running to take advantage of these modes of execution.
This implementation does NOT yet support the provision of passing parameters to the SeBuilder script from the
CallScript InputRecord.
Fields: [ ]=
Optional with Default Value
-
ScriptName
The name of the Script to execute.
NOTE:
SE2HTM : This can be either a project-relative path or the full absolute path to the JSON script.
The file path inclucing file extension IS needed to successfully locate the script.
- [ ParameterName = AValue ]
One or more parameter values to send to the script--each in their own field.
NOTE:
SE2HTM : Not supported at this time in Selenium SeBuilder JSON Scripts.
Examples:
[How To Read This Reference]
DDDriverFlowCommands::CallStep
Invoke a Step table from within another Step table (from StepDriver).
The command is only used at the Step level. You do not use this
command within Suites or Cycles.
Since the Step table is executed as a driver command by StepDriver
and NOT as a CycleDriver or SuiteDriver test record, the call to the
Step table itself is not counted as a test pass or a test fail.
Fields: [ ]=
Optional with Default Value
-
StepName
The name of the StepTable to execute.
- [ StepSeparator = ]
The field separator used by the Step table--if required.
Only necessary if the table uses a different field separator than
that already set for StepDriver. Use an empty string or an empty
field to keep the field separator already in use.
Typically, all the tables use the same separator so this can usually
be left empty.
- [ ParameterName = AValue ]
One or more parameter values to send to the table--each in their own field.
Examples:
-
C, CallStep, "AnotherStepTable"
Invoke AnotherStepTable which does not require or expect parameters.
-
C, CallStep, "MyStep", ";"
Invoke MyStep which uses a semi-colon as a field delimiter.
-
C, CallStep, "AnotherStep", "", ^FName="John", ^LName="Smith"
Invoke AnotherStep using the existing field separator and passing two parameters.
[How To Read This Reference]
DDDriverFlowCommands::CallSuite
Invoke a Suite table (from StepDriver or SuiteDriver)
You cannot use CallSuite in a CycleDriver test table.
Since the Suite is executed as a driver command by SuiteDriver or
StepDriver and NOT as a CycleDriver test record, the call to the
Suite itself is not counted as a test pass or a test fail.
Fields: [ ]=
Optional with Default Value
-
SuiteName
The name of the Suite to execute.
- [ SuiteSeparator = ]
The field separator used by the Suite--if required.
The field separator used by the Suite--if required.
Only necessary if the Suite uses a different field separator than
that already set for SuiteDriver. Use an empty string or an empty
field to keep the field separator already in use.
Typically, all the tables use the same separator so this can usually
be left empty.
- [ ParameterName = AValue ]
One or more parameter values to send to the suite--each in their own field.
Examples:
-
C, CallSuite, "MySuite"
Invoke MySuite which does not require or expect parameters.
-
C, CallSuite, "MySuite", ";"
Invoke MySuite which uses a semi-colon as a field delimiter.
-
C, CallSuite, "AnotherSuite", "", ^FName="John", ^LName="Smith"
Invoke AnotherSuite using the existing field separator and passing two parameters.
[How To Read This Reference]
DDDriverFlowCommands::CallTestNG
If properly configured with SAFS RuntimeDataAwareness (dependency injection of SAFS Driver instances) the TestNG
test has full access to all SAFS services including SAFS App Map data and SAFS Variable storage.
TestNG tests can be intermixed with other SAFS tests.
NOTE:
SE2HTM :
All SeleniumPlus actions, command, and libraries are available.
Access SeleniumPlus actions and commands through the SeleniumPlus static methods and fields.
Fields: [ ]=
Optional with Default Value
-
TestNGParameters
The parameters accepted by TestNG.
Such as "testng.xml", "-testclass class_name", "-sourcedir src1;src2", "-groups g1,g2" etc.
Examples:
-
C, CallTestNG, "testng.xml"
Run the TestNG tests defined in testng.xml.
Run the TestNG tests defined in testng.xml.
-
C CallTestNG "-testclass testng.TestNGTest -groups first,middle"
Run the TestNG tests of group "first" and "middle" in class testng.TestNGTest.
Run the TestNG tests of group "first" and "middle" in class testng.TestNGTest.
-
C CallTestNG "-testclass testng.TestNGTest -excludegroups last"
Run the TestNG tests of each group except "last" in class testng.TestNGTest.
Run the TestNG tests of each group except "last" in class testng.TestNGTest.
[How To Read This Reference]
DDDriverFlowCommands::ExitCycle
Exit the currently running Step, Suite, and/or Cycle table.
Exit the currently running Step, Suite, and/or Cycle table.
Generally called from Step or Suite Driver to exit or abort the entire
Cycle test currently running.
The Step or Suite table containing the command is exited. If an ExitTable
processing block has been set by SetExitTableBlock then that block
will be executed. Otherwise, the table will immediately exit.
Any Suite and/or Cycle table that invoked the table will also be exited.
If an ExitTable processing block has been set by SetExitTableBlock for the table
then that block will be executed. Otherwise, the table will immediately exit.
DDDriverFlowCommands::ExitSuite
Exit the currently running Step and/or Suite table.
Exit the currently running Step and/or Suite table.
Generally only called from Step Driver to exit the current Step
table AND the Suite that invoked it. The command should have no
effect inside a Cycle table.
The Step or Suite table containing the command is exited. If an ExitTable
processing block has been set by SetExitTableBlock then that block
will be executed. Otherwise, the table will immediately exit.
If the table containing the command was a Step table, then the Suite that
called the Step table will also be exited. If an ExitTable
processing block has been set by SetExitTableBlock for the Suite,
then that block will be executed. Otherwise, the Suite will immediately exit.
DDDriverFlowCommands::ExitTable
Exit the currently running Step, Suite, or Cycle table.
Exit the currently running Step, Suite, or Cycle table.
The table containing the command is exited. No other table
is automatically exited because of this command. If an ExitTable
processing block has been set by SetExitTableBlock then that block
will be executed. Otherwise, the table will immediately exit.
DDDriverFlowCommands::GotoBlockID
Goto a named block in the current table.
DDDriverFlowCommands::OnContainsGotoBlockID
Goto the named block in the current table if value2 is contained within value1.
Fields: [ ]=
Optional with Default Value
-
BlockID
The name of the block to Goto.
-
Value1
The value to be searched for the Value2 substring
-
Value2
A string to search Value1 for an occurance of
- [ CaseSensitive = ]
Set to 'CaseInsensitive' so comparisons are NOT case-sensitive.
Comparisons are case-sensitive by default.
Examples:
-
C, OnContainsGotoBlockID, "NoError", Value1, Value2
Goto the block named "NoError" if "Value1" contains "Value2" (it doesn't).
-
C, OnContainsGotoBlockID, "NoError", Value1, VALUE1, CaseInsensitive
Goto the block named "NoError" if "Value1" contains "VALUE1" (it does since comparison is case-insensitive).
-
C, OnContainsGotoBlockID, "NoError", ^Value1, Value2
Goto "NoError" if DDVariable ^Value1 contains "Value2" (it might).
-
C, OnContainsGotoBlockID, "NoError", ^Value1, ^Value2
Goto "NoError" if DDVariable ^Value1 contains DDVariable ^Value2 (it might).
[How To Read This Reference]
DDDriverFlowCommands::OnDirectoryExistGotoBlockID
Goto the named block in the current table if the directory exists.
Fields: [ ]=
Optional with Default Value
-
BlockID
The name of the block to Goto.
-
DirectoryName
The directory name of the directory relative to Datapool/Test to be verified for existance. Case sensitivity is handled by the underlying operating system (i.e. a case sensitive platform makes this keyword case sensitive).
Examples:
[How To Read This Reference]
DDDriverFlowCommands::OnDirectoryNotExistGotoBlockID
Goto the named block in the current table if the Directory does not exist.
Fields: [ ]=
Optional with Default Value
-
BlockID
The name of the block to Goto.
-
DirectoryName
The directory name relatvie to Datapool/Text of the directory to be verified for non existance. Case sensitivity is handled by the underlying operating system (i.e. a case sensitive platform makes this keyword case sensitive).
Examples:
-
C, OnDirectoryNotExistGoToBlockId, DirectoryNotExist, DirectoryName
Goto the block named DirectoryNotExist if Directory DirectoryName does not exist.
-
C, OnDirectoryNotExistGoToBlockId, DirectoryNotExist, DirectoryName, CaseInsensitive
Goto the block named DirectoryNotExist if directory DirectoryName does not exist
(file name check is case-insensitive).
[How To Read This Reference]
DDDriverFlowCommands::OnEqualGotoBlockID
Goto the named block in the current table if two values are equal.
Fields: [ ]=
Optional with Default Value
-
BlockID
The name of the block to Goto.
-
Value1
The first value for the comparison.
-
Value2
The second value for the comparison.
- [ CaseSensitive = ]
Set to 'CaseInsensitive' so comparisons are NOT case-sensitive.
Comparisons are case-sensitive by default.
Examples:
-
C, OnEqualGotoBlockID, "NoError", Value1, Value2
Goto the block named "NoError" if "Value1" equal "Value2" (they don't).
-
C, OnEqualGotoBlockID, "NoError", Value1, VALUE1, CaseInsensitive
Goto the block named "NoError" if "Value1" equal "VALUE1" (they do if
the comparison is case-insensitive).
-
C, OnEqualGotoBlockID, "NoError", ^Value1, Value2
Goto "NoError" if DDVariable ^Value1 equal "Value2" (it might).
-
C, OnEqualGotoBlockID, "NoError", ^Value1, ^Value2
Goto "NoError" if DDVariable ^Value1 = DDVariable ^Value2 (it might).
[How To Read This Reference]
DDDriverFlowCommands::OnFileEOFGotoBlockID
Goto the named block in the current table if the file is at EOF.
Fields: [ ]=
Optional with Default Value
-
BlockID
The name of the block to Goto.
-
FileNumber
The file number of the file to be verified for EOF.
Examples:
[How To Read This Reference]
DDDriverFlowCommands::OnFileExistGotoBlockID
Goto the named block in the current table if the file exists.
Fields: [ ]=
Optional with Default Value
-
BlockID
The name of the block to Goto.
-
FileName
The file name of the file relative to Datapool/Test to be verified for existance. Case sensitivity is handled by the underlying operating system (i.e. a case sensitive platform makes this keyword case sensitive).
Examples:
[How To Read This Reference]
DDDriverFlowCommands::OnFileNotExistGotoBlockID
Goto the named block in the current table if the file does not exist.
Fields: [ ]=
Optional with Default Value
-
BlockID
The name of the block to Goto.
-
FileName
The file name of the file relative to Datapool/Test to be verified for existance. Case sensitivity is handled by the underlying operating system (i.e. a case sensitive platform makes this keyword case sensitive).
Examples:
[How To Read This Reference]
DDDriverFlowCommands::OnGreaterThanGotoBlockID
Goto the named block in the current table if value1 is greater than value2.
Fields: [ ]=
Optional with Default Value
-
BlockID
The name of the block to Goto.
-
Value1
The value to be compared.
-
Value2
The value to be compared against.
- [ CaseSensitive = ]
Set to 'CaseInsensitive' so comparisons are NOT case-sensitive.
Comparisons are case-sensitive by default.
Examples:
-
C, OnGreaterThanGotoBlockID, "NoError", Val2, Val1
Goto the block named "NoError" since Val2 is greater than Val1 via string compare.
-
C, OnGreaterThanGotoBlockID, "NoError", 500, 100
Goto "NoError" since 500 is greather than 100 via numerical comparison.
-
C, OnGreaterThanGotoBlockID, "NoError", ^Val1, ^Val2
Goto "NoError" if DDVariable ^Val1 is greater than DDVariable ^Val2.
[How To Read This Reference]
DDDriverFlowCommands::OnGUIExistsGotoBlockID
DRD |
IOS |
RC |
RJ |
TID |
WR |
SE |
SE2 |
TC |
Goto the named block in the current table if a GUI component exists.
Fields: [ ]=
Optional with Default Value
-
BlockID
The name of the block to Goto.
-
WindowID
A Window reference from the app map.
-
ComponentID
A reference from the app map for the Component within the Window.
A reference from the app map for the Component within the Window.
If the Window is the item of interest then both the WindowID and
ComponentID will be the same.
- [ TimeOut = 15 ]
Timeout value in seconds before exiting automatically (no branch).
Examples:
[How To Read This Reference]
DDDriverFlowCommands::OnGUINotExistGotoBlockID
DRD |
IOS |
RC |
RJ |
TID |
WR |
SE |
SE2 |
TC |
Goto the named block in the current table if a GUI component does not exist.
Fields: [ ]=
Optional with Default Value
-
BlockID
The name of the block to Goto.
-
WindowID
A Window reference from the app map.
-
ComponentID
A reference from the app map for the Component within the Window.
A reference from the app map for the Component within the Window.
If the Window is the item of interest then both the WindowID and
ComponentID will be the same.
- [ TimeOut = 15 ]
Timeout value in seconds before exiting automatically (no branch).
Examples:
[How To Read This Reference]
DDDriverFlowCommands::OnInRangeGotoBlockID
Goto named block if value1 is between value2 and value3.
Fields: [ ]=
Optional with Default Value
-
BlockID
The name of the block to Goto.
-
Value1
The value to be compared.
-
Value2
The low end of range to be compared against.
-
Value3
The high end of range to be compared against.
- [ CaseSensitive = ]
Set to 'CaseInsensitive' so string comparisons are NOT case-sensitive.
String Comparisons are case-sensitive by default.
Examples:
-
C, OnInRangeGotoBlockID, "NoError", Val22, Val21, Val31
Goto "NoError" if "^Val1" is within Val2 and Val3.
-
C, OnInRangeGotoBlockID, "NoError", 200, 100, 500
Goto "NoError" since 200 is numerically between 100 and 500.
-
C, OnInRangeGotoBlockID, "NoError", ^Val1, ^Val2, ^Val3
Goto "NoError" if DDVariable ^Val1 is within DDVarialbe ^Val2 and DDVariable ^Val3.
[How To Read This Reference]
DDDriverFlowCommands::OnLessThanGotoBlockID
Goto the named block if value1 is less than value2.
Fields: [ ]=
Optional with Default Value
-
BlockID
The name of the block to Goto.
-
Value1
The value to be compared.
-
Value2
The value to be compared against.
- [ CaseSensitive = ]
Set to 'CaseInsensitive' so string comparisons are NOT case-sensitive.
String Comparisons are case-sensitive by default.
Examples:
-
C, OnLessThanGotoBlockID, "NoError", Val1, Val2
Goto the block named "NoError" since string compare of Val1 is less than Val2.
-
C, OnLessThanGotoBlockID, "NoError", 100, 200
Goto block named "NoError" since numerical compare 100 is less than 200.
-
C, OnLessThanGotoBlockID, "NoError", ^Val1, ^Val2
Goto "NoError" if DDVariable ^Val1 less than DDVariable ^Val2.
[How To Read This Reference]
DDDriverFlowCommands::OnMenuItemContainsStateGotoBlockID
Goto the named block in the current table if state is part of the state information of the menuitem.
Fields: [ ]=
Optional with Default Value
-
BlockID
The name of the block to transfer control to if state is
part of the state information of the menuitem.
-
WindowName
The window name.
-
ComponentName
The component name.
-
MenuItem
Menu->MenuItem hierarchy string to identify which menu item to test. This menu hierarchy is case-sensitive.
to test. This menu hierarchy is case-sensitive.
-
State
Expected status string (or part thereof) to verify.
Ex: "Enabled Checked" OR "Disabled Grayed" etc. Each item
separated by a space will be evaluated separately so the order
of the status items does not matter. These status items are
case-sensitive.
Examples:
[How To Read This Reference]
DDDriverFlowCommands::OnNotContainsGotoBlockID
Goto the named block in the current table if value2 is NOT a substring of value1.
Fields: [ ]=
Optional with Default Value
-
BlockID
The name of the block to Goto.
-
Value1
The value to be searched for the Value2 substring
-
Value2
The substring to seek in VALUE1
- [ CaseSensitive = ]
Set to 'CaseInsensitive' so comparisons are NOT case-sensitive.
Comparisons are case-sensitive by default.
Examples:
-
C, OnNotContainsGotoBlockID, "NoError", Value1, Value2
Goto the block named "NoError" since "Value1" does not contain "Value2".
-
C, OnNotContainsGotoBlockID, "NoError", Value1, VALUE1, CaseInsensitive
Does not branch to "NoError" because "Value1" DOES contain "VALUE1" since comparison is case-insensitive.
-
C, OnNotContainsGotoBlockID, "NoError", ^Value1, Value2
Goto "NoError" if DDVariable ^Value1 does not contain "Value2" (it might).
-
C, OnNotContainsGotoBlockID, "NoError", ^Value1, ^Value2
Goto "NoError" if DDVariable ^Value1 does not contain DDVariable ^Value2 (it might).
[How To Read This Reference]
DDDriverFlowCommands::OnNotEqualGotoBlockID
Goto the named block in the current table if two values are not equal.
Fields: [ ]=
Optional with Default Value
-
BlockID
The name of the block to Goto.
-
Value1
The first value for the comparison.
-
Value2
The second value for the comparison.
- [ CaseSensitive = ]
Set to 'CaseInsensitive' so string comparisons are NOT case-sensitive.
String Comparisons are case-sensitive by default.
Examples:
-
C, OnNotEqualGotoBlockID, "NoError", Value1, Value2
Goto the block named "NoError" since Value2 not equal Value2.
-
C, OnNotEqualGotoBlockID, "NoError", Value1, VALUE1, CaseInsensitive
Goto the block named "NoError" if "Value1" not equal "VALUE1" (they are equal
since the comparison is case-insensitive--branch does not occur).
-
C, OnNotEqualGotoBlockID, "NoError", 100, 200
Goto "NoError" since 100 not equal 200.
-
C, OnNotEqualGotoBlockID, "NoError", ^Value1, ^Value2
Goto "NoError" if DDVariable ^Value1 not equal DDVariable ^Value2 (it might be).
[How To Read This Reference]
DDDriverFlowCommands::OnNotGreaterThanGotoBlockID
Goto the named block in the current table if value1 is NOT greater than value2.
Fields: [ ]=
Optional with Default Value
-
BlockID
The name of the block to Goto.
-
Value1
The value expected to be NOT greater than VALUE2.
-
Value2
The value expected to be equal or greater than VALUE1.
- [ CaseSensitive = ]
Set to 'CaseInsensitive' so comparisons are NOT case-sensitive.
Comparisons are case-sensitive by default.
Examples:
-
C, OnNotGreaterThanGotoBlockID, "NoError", Val1, Val2
Goto the block named "NoError" since Val1 is NOT greater than Val2 via string compare.
-
C, OnNotGreaterThanGotoBlockID, "NoError", Val1, Val1
Goto the block named "NoError" since Val1 equals Val1 via string compare.
-
C, OnNotGreaterThanGotoBlockID, "NoError", Val2, Val1
Does not branch to "NoError" since Val2 is greater than Val1 via string compare.
-
C, OnNotGreaterThanGotoBlockID, "NoError", 100, 500
Goto "NoError" since 100 is NOT greather than 500 via numerical comparison.
-
C, OnNotGreaterThanGotoBlockID, "NoError", ^Val1, ^Val2
Goto "NoError" if DDVariable ^Val1 is NOT greater than DDVariable ^Val2.
[How To Read This Reference]
DDDriverFlowCommands::OnNotInRangeGotoBlockID
Goto the named block in the current table if value1 is not between value2 and value3.
Fields: [ ]=
Optional with Default Value
-
BlockID
The name of the block to Goto.
-
Value1
The value to be compared.
-
Value2
The low end of range to be compared against.
-
Value3
The high end of range to be compared against.
- [ CaseSensitive = ]
Set to 'CaseInsensitive' so string comparisons are NOT case-sensitive.
String Comparisons are case-sensitive by default.
Examples:
-
C, OnNotInRangeGotoBlockID, "NoError", Val11, Val21, Val31
Goto the block "NoError" Val11 is not between Val21 and Val31 using string compare".
-
C, OnNotInRangeGotoBlockID, "NoError", 100, 200, 500
Goto "NoError" since 100 is not numerically between 200 and 500".
-
C, OnNotInRangeGotoBlockID, "NoError", ^Val1, ^Val2, ^Val3
Goto "NoError" if DDVarialbe ^Val1 is within DDVariable ^Val2 and DDVariable ^Val3.
[How To Read This Reference]
DDDriverFlowCommands::OnNotLessThanGotoBlockID
Goto the named block if value1 is NOT less than value2.
Fields: [ ]=
Optional with Default Value
-
BlockID
The name of the block to Goto.
-
Value1
The value that should be NOT less than VALUE2.
-
Value2
The value that should be equal or less than VALUE1.
- [ CaseSensitive = ]
Set to 'CaseInsensitive' so string comparisons are NOT case-sensitive.
String Comparisons are case-sensitive by default.
Examples:
-
C, OnNotLessThanGotoBlockID, "NoError", Val2, Val1
Goto the block named "NoError" since string compare of Val2 is NOT less than Val1.
-
C, OnNotLessThanGotoBlockID, "NoError", Val1, Val1
Goto the block named "NoError" since string compare of Val1 equals Val1.
-
C, OnNotLessThanGotoBlockID, "NoError", Val1, Val2
Does not branch to "NoError" since string compare of Val1 is less than Val2.
-
C, OnNotLessThanGotoBlockID, "NoError", 200, 100
Goto block named "NoError" since numerical compare 200 is not less than 100.
[How To Read This Reference]
DDDriverFlowCommands::OnPartialMenuItemContainsStateGotoBlockID
Goto the named block in the current table if state is part of the state information of the menuitem.
This command allows for a partial match of the menu item.
Fields: [ ]=
Optional with Default Value
-
BlockID
The name of the block to transfer control to if state is
part of the state information of the menuitem.
-
WindowName
The window name.
-
ComponentName
The component name.
-
MenuItem
Menu->MenuItem hierarchy string to identify which menu item to test. This menu hierarchy is case-sensitive.
to test. This menu hierarchy is case-sensitive.
-
State
Expected status string (or part thereof) to verify.
Ex: "Enabled Checked" OR "Disabled Grayed" etc. Each item
separated by a space will be evaluated separately so the order
of the status items does not matter. These status items are
case-sensitive.
Examples:
[How To Read This Reference]
DDDriverFlowCommands::OnRegistryKeyExistGotoBlockID
Goto the named block in the current table if the Registry Key exists.
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
-
BlockID
The name of the block to Goto.
-
Key
The Registry Key to seek.
- [ KeyValue = ]
The optional Registry subkey value to seek.
The value name under the parent key. If not provided then we just
check to see if the provided parent key exists.
- [ TimeOut = 15 ]
Timeout value in seconds before exiting automatically (no branch).
Examples:
[How To Read This Reference]
DDDriverFlowCommands::OnRegistryKeyNotExistGotoBlockID
Goto the named block in the current table if the Registry Key does not exist.
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
-
BlockID
The name of the block to Goto.
-
Key
The Registry Key to seek.
- [ KeyValue = ]
The optional Registry subkey value to seek.
The value name under the parent key. If not provided then we just
check to see if the provided parent key exists.
- [ TimeOut = 15 ]
Timeout value in seconds before exiting automatically (no branch).
Examples:
[How To Read This Reference]
DDDriverFlowCommands::SetExitTableBlock
Set or clear the name of a block to execute when the ExitTable command is encountered.
Set or clear the name of a block to execute when the ExitTable command is encountered.
You can reset this to nothing by leaving the BlockID parameter blank
or providing an empty BlockID. This reset should be done as part of the ExitTable
processing.
Fields: [ ]=
Optional with Default Value
- [ BlockID = ]
The name of the block to Goto when ExitTable is encountered.
Examples:
[How To Read This Reference]
DDDriverFlowCommands::SetGeneralScriptFailureBlock
Set or clear the name of a block to execute when GeneralScriptFailure occurs.
Set or clear the name of a block to execute when GeneralScriptFailure occurs.
Status is evaluated after the completion of every record in a table.
You can reset this to nothing by leaving the BlockID parameter blank
or providing an empty BlockID.
Fields: [ ]=
Optional with Default Value
- [ BlockID = ]
The name of the block to Goto on status GeneralScriptFailure.
Examples:
[How To Read This Reference]
DDDriverFlowCommands::SetInvalidFileIOBlock
Set or clear the name of a block to execute when InvalidFileIO occurs.
Set or clear the name of a block to execute when InvalidFileIO occurs.
Status is evaluated after the completion of every record in a table.
You can reset this to nothing by leaving the BlockID parameter blank
or providing an empty BlockID.
Note, an InvalidFileIO generated from the test table itself will not
be processed by this block. In general, that would not be possible
because the FileIO error likely means the table cannot be processed.
Fields: [ ]=
Optional with Default Value
- [ BlockID = ]
The name of the block to Goto on status InvalidFileIO.
Examples:
[How To Read This Reference]
DDDriverFlowCommands::SetNoScriptFailureBlock
Set or clear the name of a block to execute when NoScriptFailure occurs.
Set or clear the name of a block to execute when NoScriptFailure occurs.
Status is evaluated after the completion of every record in a table.
So event the simple logging of message can return NoScriptFailure.
This block setting is automatically cleared when a jump is executed as
a result of this condition. This command is generally used immediately
before the record you expect to pass or fail. You can reset this to
nothing by leaving the BlockID parameter blank or providing an empty
BlockID.
Fields: [ ]=
Optional with Default Value
- [ BlockID = ]
The name of the block to Goto on status NoScriptFailure.
Examples:
[How To Read This Reference]
DDDriverFlowCommands::SetScriptNotExecutedBlock
Set or clear the name of a block to execute when ScriptNotExecuted occurs.
Set or clear the name of a block to execute when ScriptNotExecuted occurs.
Status is evaluated after the completion of every record in a table. In general,
ScriptNotExecuted only occurs when the drivers are not able to be invoked or
StepDriver cannot properly locate GUI items or the functions to process them.
You can reset this to nothing by leaving the BlockID parameter blank
or providing an empty BlockID.
Fields: [ ]=
Optional with Default Value
- [ BlockID = ]
The name of the block to Goto on status ScriptNotExecuted.
Examples:
[How To Read This Reference]
DDDriverFlowCommands::SetScriptWarningBlock
Set or clear the name of a block to execute when ScriptWarning occurs.
Set or clear the name of a block to execute when ScriptWarning occurs.
Status is evaluated after the completion of every record in a table.
You can reset this to nothing by leaving the BlockID parameter blank
or providing an empty BlockID.
Fields: [ ]=
Optional with Default Value
- [ BlockID = ]
The name of the block to Goto on status ScriptWarning.
Examples:
[How To Read This Reference]
DDDriverFlowCommands::UseLocalFlowControl
When TRUE then flow control block IDs have current table scope only.
By default, flow control block IDs provided with the SetXXXBlock commands
have test level scope. That is, a block ID set stays in effect for all test
tables at that test level until the block ID is changed or cleared.
By setting UseLocalFlowControl=TRUE then any flow control block ID set
has only local scope. It is only valid for the currently executing table.
Note, if no parameter is provided the parameter will default to TRUE.
Fields: [ ]=
Optional with Default Value
- [ State = TRUE ]
The TRUE or FALSE value to use.
If no value is provided then "TRUE" will be assumed.
Examples:
-
C, UseLocalFlowControl
Use/Set local flow control blockIDs only.
-
C, UseLocalFlowControl, TRUE
Use/Set local flow control blockIDs only.
-
C, UseLocalFlowControl, FALSE
Use/Set standard test level scope blockIDs.
[How To Read This Reference]