Params¶
The last 3 columns in the RVL table are used for passing parameters:
... | ParamName | ParamType | ParamValue |
---|---|---|---|
... | text | string | John Smith |
... | x | number | 5 |
... | y | number | 7 |
... | forceEvent | boolean | true |
- 5th column - ParamName - name of the parameter. This column's intention is readability and it does not affect execution. However it names input parameters and makes it easier to understand each provided input option.
- 6th column - ParamType - value type. This may be a basic scalar type (
number
,string
,boolean
,object
) as well as one of the following additional 'special' types: -
expression
- any valid JavaScript expression that may involve global variables and functions and local variables.
-
variable
- the parameter value is read from a variable.
-
objectid
- ID of one of the learned Objects.
-
password
- means that value is encrypted string that is decrypted in runtime.
- 7th column - ParamValue - a value that is acceptable for the specified ParamType. For
boolean
it istrue
orfalse
. Fornumber
is is any floating point number (i.e.3.14
). Forstring
, any text without quotes or escape signs.
Param Rows¶
In RVL each parameter takes one row:
... | Type | ... | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|
... | Param | text | string | John Smith | |
... | Param | x | number | 5 | |
... | Param | y | number | 7 | |
... | Param | forceEvent | boolean | true |
Param Arrays¶
Some methods accept arrays of values as input values. For example Tester.Message
may take its 1st message
parameter as an array and prints them combined. Making an array is easy, several consequent parameters having the same name are combined into an array, i.e.:
Flow | Type | Object | Action | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|---|
Action | Tester | Message | message | string | MyVar1 value: | |
Param | message | variable | MyVar1 | |||
Param | message | string | MyVar2 value: | |||
Param | message | variable | MyVar2 |
Should report a message like:
1 |
|
Extra Parameters¶
Several functions of the RVL Object support variable parameters (RVL.DoPlaySheet
, RVL.DoPlayScript
, RVL.SetLocatorOpts
, RVL.FormatString
, RVL.DoPlayTest
) and RVL.DoPlayTestParallel
) support extra parameters.
Custom parameters added by user manually, by specifying row type Param
and assigning any required param name.
There my be as many extra parameters as needed.
Mixed Rows¶
In some cases it is convenient to mix parameter cells with an Action or Condition.
For example, the 1st parameter of an Action may share the Action
row:
Flow | Type | Object | Action | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|---|
Action | MyButton | DoClick | x | number | 5 | |
Param | y | number | 7 |
And this is equivalent to putting it in the next row:
Flow | Type | Object | Action | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|---|
Action | MyButton | DoClick | ||||
Param | x | number | 5 | |||
Param | y | number | 7 |
Or param2
of the condition may be on the same row:
... | Type | Object | Action | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|---|
Param | param1 | string | Text1 | |||
Condition | param1!=param2 | param2 | string | Text2 |
Which is equivalent to:
... | Type | Object | Action | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|---|
Param | param1 | string | Text1 | |||
Condition | param1!=param2 | |||||
Param | param2 | string | Text2 |
This allows saving space while keeping same readability. See also short condition syntax for real live example of mixed rows usage.
Map Params¶
If map is defined in the script it may be used directly as a parameter. ParamType should be set to Map Name and ParamValue is a column (or row) name: