- 1 Introduction
- 2 Introductory Table Driven Block Example
- 3 Editors
- 4 Backward Compatibility
The table-driven action block (also sometimes called "keyword action") describes an action's behavior as a sequential flow of actions. Typically they are used for test steps, therefore you will occasionally find the name "table-driven test" in this documentation.
Each step is represented by one or more rows in the table, where the first row of each step is highlighted by the background color. Further rows represent the in- and output pins of each step.
If an action turns out to need more complexity (i.e. decisions, loops or parallelity) the table driven block can be transformed into a general compound block via a popup menu function in the tree ("Refactoring" -> "Convert to Compound Action"). This will generate a regular compound action, with the individual steps as a sequence, to be changed as required.
Introductory Table Driven Block Example
The following example shows the major components of the table.
Step Nr (1)
The unique step number can be used to identify an explicit step in a table.
Step Name (2)
The name of a step can be used as a description of the steps functionality.
Pins (3, 4, 5, 6, 7, 8)
Pins are used to exchange data and trigger information between steps. These pins can be output pins (6, 7, 8) to send data or input pins (3, 4, 5) to receive data. Pins are described in detail in a separate document.
Value from Freeze Value (3)
The data which is read by a pin can be frozen to a static value (constant). In the example the inString 'hello world' is frozen.
Value from Environment Variable (4)
The data for a pin can also read from a variable. In the example the inInt is fetched from such a variable.
Value from Input Pin (5)
Another alternative is to read the value of a pin from the the own schema pin. In the example the inBool is fetched from such a input pin.
Compare Value at Pin (6)
The value at output pins can be compared. In the example the value of outString is checked for equality to the frozen value 'hello world'.
Write Value to Environment Variable(7)
The data available at a output pin can be saved to a environment variable. In the example the value available at outInt is saved to 'environmentVariable2'.
Write Value to Pin (8)
Alternatively the data available at a output pin can be saved to the schemas pin. In the example the value available at outBool is saved to 'outBool'.
The table which defines the behavior of a table driven block is edited in the table editor. This is the "internal view" of the block. The interface of an compound block (e.g. number and type of output pins) can be regarded as its "external view" and can be inspected in the schema editor.
Table-Driven block elements have been introduced with expecco 2.8. If you load a testsuite with table-driven blocks with a previous expecco version, these blocks will be shown as compound blocks. When saving the testsuite with the previous version, table-driven blocks will be saved as compound blocks.