RVL Quick Reference Guide¶
An RVL script is structured as a table with seven columns: Flow, Type, Object, Action, ParamName, ParamType, and ParamValue. Each RVL script consists of multiple RVL operations, which are stored in this table. An operation can be an Action, Comment, Variable, Loop, Map, or an empty row, among other types. Examples of these operations are provided in the following sections of this guide.
Empty RVL¶
Flow | Type | Object | Action | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|---|
# | This is an empty RVL, containing only one comment |
JS Representation of this RVL:
// This is an empty RVL, containing only one comment
RVL Variable - local to current sheet¶
Flow | Type | Object | Action | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|---|
Variable | MyVar | string | TBD |
JS Representation of this RVL:
var MyVar = "TBD"
RVL Global Variable - with a defaultValue. It is only used if the variable has not yet been initialized.¶
Flow | Type | Object | Action | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|---|
Variable | Global | MyVar | ||||
Param | defaultValue | string | TBD |
JS Representation of this RVL:
if(typeof(MyVar)=='undefined') MyVar = "TBD"
RVL Map with local data, containing 4 columns (Col, Col1, Col2, Col3)¶
Flow | Type | Object | Action | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|---|
Map | Rows | MyMap1 | ||||
Col | Col1 | Col2 | Col3 | |||
r1 | r11 | r12 | r13 | |||
r2 | r21 | r22 | r23 | |||
# | Add more rows if needed | |||||
End | of Map |
RVL Map - Reads values from an Excel spreadsheet¶
Flow | Type | Object | Action | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|---|
Map | Range | MyMap1 | fileName | string | %WORKDIR%\Data.xlsx | |
Param | sheetName | string | Sheet1 | |||
End | of Map |
JS Representation of this RVL:
var MyMap1 = Spreadsheet.DoAttach("%WORKDIR%\\Data.xlsx","Sheet1")
Assertion Statement¶
Flow | Type | Object | Action | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|---|
Assert | message | string | Report message | |||
Param | param1 | string | Value 1 | |||
Condition | param1 == param2 | |||||
Param | param2 | string | Value 2 |
JS Representation of this RVL:
Tester.Assert("Report message", "Value 1"=="Value 2")
Action: Calling DoLaunch on the Global Object¶
Flow | Type | Object | Action | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|---|
Action | Global | DoLaunch | cmdLine | string | c:\temp\calc.exe | |
Param | wrkDir | string | c:\temp |
JS Representation of this RVL:
Global.DoLaunch("c:\\temp\\calc.exe", "c:\\temp")
Conditional If Statement¶
Flow | Type | Object | Action | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|---|
If | Param | param1 | string | TBD | ||
Condition | param1 == param2 | |||||
Param | param2 | string | TBD | |||
# | If actions | |||||
End | of If |
JS Representation of this RVL:
if( "TBD" == "TBD" )
{
// If actions
} // of If
Conditional If-Else¶
Flow | Type | Object | Action | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|---|
If | Param | param1 | string | TBD | ||
Condition | param1 == param2 | |||||
Param | param2 | string | TBD | |||
# | If actions | |||||
Else | ||||||
# | Else actions | |||||
End | of Else |
JS Representation of this RVL:
if( "TBD" == "TBD" )
{
// If actions
} else {
// Else actions
} // of Else
Conditional If-ElseIf¶
Flow | Type | Object | Action | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|---|
If | Param | param1 | string | TBD1 | ||
Condition | param1 == param2 | |||||
Param | param2 | string | TBD2 | |||
# | If actions | |||||
ElseIf | Param | param1 | string | TBD3 | ||
Condition | param1 == param2 | |||||
Param | param2 | string | TBD4 | |||
# | ElseIf actions | |||||
End | of ElseIf |
JS Representation of this RVL:
if( "TBD1" == "TBD2" )
{
// If actions
} else if ( "TBD3" == "TBD4" ) {
// ElseIf actions
} // of ElseIf
Multi-Line Comment¶
Flow | Type | Object | Action | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|---|
/* | This is a multi-line comment. | |||||
It includes all lines from "/*" | ||||||
up to the final "*/" in the Flow column | ||||||
*/ |
JS Representation of this RVL:
/*
This is a multi-line comment.
It includes all lines from "/*"
up to the final "*\/" in the Flow column
*/
Looping Through a Map¶
Flow | Type | Object | Action | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|---|
Loop | Map | MyMap1 | ||||
# | Loop body | |||||
Action | Tester | Message | message | string | Map cell: | |
Param | message | MyMap1 | Col | |||
End | of Loop |
JS Representation of this RVL:
while(MyMap1.DoSequential())
{
Tester.Message("Map cell:", MyMap1.GetCell("Col"))
}
Loop with Variable i (similar to a "for var i from 1 to 10" loop)¶
Flow | Type | Object | Action | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|---|
Loop | Variable | i | from | number | 1 | |
Param | to | number | 10 | |||
# | Loop body | |||||
End | of Loop |
JS Representation of this RVL:
for(var i=1;i<=10;i++)
{
// Loop body
}
Loop with a Condition (While Loop)¶
Flow | Type | Object | Action | ParamName | ParamType | ParamValue |
---|---|---|---|---|---|---|
Loop | Param | param1 | number | 1 | ||
Condition | param1 == param2 | |||||
Param | param2 | number | 2 | |||
# | Loop body | |||||
End | of Loop |
JS Representation of this RVL:
while(1==2)
{
// Loop body
}