This is an old revision of the document!


Tutorial: Automation Scripting - Combinatorial Model

Learning Objectives:

  • Model scripting
  • Looping through DataTable
  • Activating plugins
  • Persisting and exporting results

This tutorial assumes that you are familiar with how to create a Combinatorial Data Model and have created a simple model with at least 2 variables named Field1 and Field2 and have generated the DataTable. Please refer to Combinatorial Data Modeling if you need assistance in creating the model.

Model scripting

Apache Groovy script is the scripting language for your models.

Groovy script is syntactically very similar to most of programming language that allows you to create classes, functions and basic logic and arithmetic operations.

Unlike scripting for State Model, you just write your script right in SCRIPT tab. In your script you would just loop through the rows in DataTable. Below is an example of script:

 $DATASET.notifyClient('Total number of rows in DataTable: ' + $DATASET.getDataRows().size());

Run the model, you should see following returned and displayed on IDE:

 Total number of rows in DataTable: 10

Activating Plugins

Just like scripting for State Model, you need to activate plugins to interact with AUT to perform the testing on each row in the DataTable.

For this tutorial, activate Random plugin, and modify the script to use $RANDOM.randNum(…) to determine the failure/success as below:

 for (Map<String,String> row: $DATASET.getDataRows()) {
    if ($RANDOM.randNum(0,10) > 5) {
       row._result = "Successful run on " + row.Field1 + ", " + row.Field2;
       row._status = true;
    }
    else {
       row._result = "Failed run on " + row.Field1 + ", " + row.Field2;
       row._status = false;
    }
    $DATASET.notifyClient(row);
 }