This is an old revision of the document!


Tutorial: Automation Scripting - Combinatorial Model

Learning Objectives:

  • Model scripting
  • Activating plugins
  • Looping through DataTable
  • 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:

 for (Map<String,String> row: $DATASET.getDataRows()) {
    row._result = "Successful run on " + row.Field1 + ", " + row.Field2;
    row._status = true;
    $DATASET.notifyClient(row);
 }

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