我正在使用SoapUI进行负载测试,并且在测试用例A中我有一个(groovy)脚本,它使用以下命令运行测试用例B:
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
这两个最后的行在这里有点过分,但是因为它因为这个而加载测试失败的断言不是线程安全的我包含它们。
我发现我需要将runmode设置为“SINGLETON_AND_WAIT”,但我的问题是如何做到这一点。
答案 0 :(得分:2)
有几种方法可以管理,请查看以下电话。其中一种方法应在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
}