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

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 'Total number of rows in DataTable: 10' on IDE.

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);
 }