Uso de script para ejecutar otros casos de prueba

I'm load testing with SoapUI and within Test Case A i have a (groovy) script that is calling to run Test Case B using:

import com.eviware.soapui.model.testsuite.TestRunner.Status
def tc = def tc = testRunner.testCase.testSuite.testCases["Test Case B"]
def runner = tc.run( new com.eviware.soapui.support.types.StringToObjectMap (), false )
log.info "Status: $runner.status, time: $runner.timeTaken ms.
assert runner.status != Status.FAILED : runner.reason

The two last rows are little overkill here, but since its the assert that fails when i load test due to this is not thread safe I include them.

I've found that I need to set the runmode to "SINGLETON_AND_WAIT", but my question here is HOW i do that.

preguntado el 28 de agosto de 12 a las 14:08

1 Respuestas

There are several ways to manage this, check out the following calls. One of these approaches should be used after your tc.run(...).

// 1) Simply blocking wait for test to complete.
runner.waitUntilFinished()  

// 2) actively manage the wait
runner.isRunning()

// 3) actively manage with QoS time out.
while (runner.status == Status.RUNNING) {
    assert runnner.getTimeTaken() < 1000
}

Respondido el 11 de diciembre de 18 a las 00:12

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.