Groovy Scripting

Groovy scripts let you do anything custom — extract values, set properties, generate dynamic data.

Setup script (runs before test case)

groovy
// Set dynamic property
testRunner.testCase.setPropertyValue("timestamp", new Date().getTime().toString())
testRunner.testCase.setPropertyValue("uuid", UUID.randomUUID().toString())

// Set auth token from environment
def token = context.expand('${#Environment#TOKEN}')
testRunner.testCase.setPropertyValue("auth", "Bearer " + token)

log.info "Setup complete"

Extract and store response value

groovy
// In a Script step after a request
def response = context.expand('${LoginRequest#Response}')
def json = new groovy.json.JsonSlurper().parseText(response)
def token = json.data.token

testRunner.testCase.setPropertyValue("authToken", token)
log.info "Stored token: " + token

Groovy data generator

groovy
import com.github.javafaker.Faker

def faker = new Faker()
testRunner.testCase.setPropertyValue("email", faker.internet().emailAddress())
testRunner.testCase.setPropertyValue("name", faker.name().fullName())
testRunner.testCase.setPropertyValue("phone", faker.phoneNumber().phoneNumber())