Welcome to the May 2020 release of OpenTAP, version 9.8. The main focus of this release was implementing Scoped Parameters. This is a significant change, but fear not because we are here to walk you through it.
Scoped parameters allow you to dynamically move one or more settings from a child step to a parent step, essentially making a parameter control those settings. If two or more settings are parameterized they can be merged on the parent step level as long as they have compatible types.
Any parent step can have scoped parameters. Once a setting has been parameterized it can no longer be edited from the original step as it is controlled by the parameter. Editing of the parameter happens through the parent step’s settings, usually under the Parameters group.
Using scoped parameters allows you to use the parent step as an abstraction to the settings of the child steps. Imagine working with an immense test plan that has multiple step groups, each containing a multitude of test steps. Having the required settings of the child steps of each group parameterized makes them more accessible and you can change them much quicker.
External parameters can be created by paramaterizing a setting and select the scope to be the test plan instead of a parent step.
With this new feature we also introduce two new steps, the Sweep Parameter and Sweep Parameter Range steps. These are similar to the existing Sweep Loop and Sweep Loop (Range) steps but they take advantage of the scoped parameters, making it clearer what parameters are actually being swept. The Sweep Loop and Sweep Loop (Range) steps will be eventually replaced by these two new steps. For now they have been moved to a Legacy subgroup of the Flow Control group.
The new steps support sweeping the selected parameters, instead of sweeping settings with a given name.
The example above shows the behavior of the new Sweep Parameter step with two Delay steps. If you parameterize the Time Delay setting of each Delay step you can choose if you want to sweep both or only one of them. The one that you choose to sweep has its text box greyed out indicating that it is being used, while the one that is not being swept remains editable.