We have fixed an issue that caused the values of data-driven variables created in the Manage Variables tab or through a
Create Variables > Data source step to be updated unexpectedly through reusable flows.
As a part of this remedy, we’ve made the following changes:
- When a flow is imported to a test, the data-driven variables associated with the flow will be hoisted to the test level. This makes it possible for a tester to make changes to these variables and store them with the test. The original values from the flow are retained and can be edited on the Flow Details page. This provides more granular control over the values used for data driven variables.
- Data-driven variables that are created in a training session persist outside of the training session, even if they are unused in a test or flow.
- Default values for data-driven variables can now be edited outside the mabl Trainer on the Test Details page.
A common symptom of the variable propagation led to the accumulation of unused variables for flows that used legacy snippets. As mentioned, this release will lead to flow data-driven variables being hoisted to the test level. If a flow in your workspace has accumulated a long list of variables that are irrelevant to your test, they will be hoisted to the test level and you will have to remove them manually in the Trainer.
Workspaces that have significant legacy snippet usage are excluded from this release to avoid the potential problem of hoisting unwanted data-driven variables accumulated with flows to tests, which would increase the effort required to clean up unwanted variables across a workspace. If the "Edit variables" button is not available on the Test Details page in your workspace, then your workspace is subject to this condition.
Legacy snippets, also referred to as unparameterized snippets, were created before the release of mabl Desktop App version 1.4.2 and include all snippets created in the mabl Trainer Chrome extension.
Migrate legacy snippets
If you have legacy snippets in your workspace, we recommend converting them into parameterized snippets as soon as possible.
Data-driven variables are user-defined variables that get their values before a test or flow starts running. Default values can be specified at the test level or the flow level; they will be used in the absence of a higher priority data source. If a variable has default values at the test level and the flow level, the test-level value takes precedence. See our guides on test data-driven variables and flow data-driven variables for more information.