Prior to v5.0, when a parameter was databound to a dataset, the databinding method is specified on that parameter level (as described here). Starting in v5.0, databinding can also be defined on the dataset level.

The key benefit to databinding on the dataset level is that it is easy to change the databinding mode of all parameters in one place instead of deleting and recreating all parameters as required in the previous versions.

Default databinding mode

The default databinding mode can be changed in the property grid below the dataset.

There are available six modes:

  • VU-Bound
  • VU-Iter-Bound
  • VU-Iter-Random
  • Iter-Bound
  • Iter-Req-Bound
  • Req-Bound

All are described here.

Create parameter with default databinding

When creating a parameter using a dataset with default binding, select the column name to bind to in the variable picker. You do not have to select the databind method as described here.

When the parameter is created, the databind method will say Dataset, which means the default dataset binding will be used for this parameter.

Override default databinding mode

To override the default databinding method (or go back to the previous version of creating parameters), you have to set the Hide advanced databinding selection property to No.

That will show all available databinding methods in the variable picker.

On-Demand VU binding

VU-bound and VU-Iteration-Bound both, by default, use the VU number to calculate which dataset row will be bound to a particular parameter. The advantage of this approach is that it is known ahead of time which record will be used for which VU and iteration. 

Imagine a test with 2 test cases (TCA and TCB), and a particular dataset is only used for TCA. Since VUs are distributed between TCA and TCB in round-robin order, the VU numbers of VUs running TCA are not sequential. Therefore the dataset needs to be padded with dummy data for TCB that will never be used.  So the datasets must have a sufficient number of records for VUs in all scripts, including those that do not use it.

To fix this problem, set the VU-to-row mapping property to On-Demand.

This will assign rows to parameters on a first-come basis in run-time on-demand only for VUs that actually require data binding. So in the example above, the dataset doesn't need to be padded with dummy data.

However, since the rows are assigned on-demand, there is no way to tell ahead of time which row will be assigned to which parameter.

When the last record is reached

During a test, in the event, a virtual user needs a new record from the dataset, but the dataset does not have any new records left, StresStimulus can perform different actions by setting the dataset property Action after reaching the last Dataset record to the following values:

  • Round-robin (default): starts using the dataset records from the beginning.
  • Use last: continue using the last record until the end of the test
  • Abort VU: abort executing the current VU.

  • No labels