SoapUI soporta como lenguajes de script Groovy y JavaScript, pero en este caso el ejemplo está implementado con Groovy.
A partir de este ejemplo se pueden hacer otras cosas como almacenar valores de propiedades a nivel de proyecto, de testSuite, etc para hacerlas accesibles a un objeto Transfer Properties.
En otra entrega mostraré como ejecutar un ws cambiado el endPoint que almacenaremos en un fichero de propiedades
import com.eviware.soapui.support.GroovyUtils
//Creamos un obj GroovyUtils
def groovyUtils = new GroovyUtils(context)
//Workspace
def workspace = testRunner.testCase.testSuite.project.workspace
//Proyecto que contiene el TestCase a invocar (TestCase invocado)
def prjExterno = workspace.getProjectByName("prjExterno")
//Obtenemos la referencia al testSuite almacenado en el proyecto anterior
def testSuiteExterno = prjExterno.testSuites['TestSuite_Externo']
//Obtenemos la referencia al testCase que queremos ejecutar
def testCaseExterno = testSuiteExterno.testCases['TestCase_Externo']
//Obtenemos una referencia al paso del test case que queremos ejecutar
def testStepExterno = testCaseExterno.getTestStepByName("stepExterno")
//Ejecutamos el step para generar el token de seguridad (Las variables testRunner y context las provee SoapUI en el entorno)
def runner = testStepExterno.run(testRunner, context)