1

私はSoapUIを使用して負荷テストを行っており、テストケースA内に、以下を使用してテストケースBを実行するために呼び出す(Groovy)スクリプトがあります。

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

最後の2つの行はここでは少しやり過ぎですが、これが原因でテストをロードすると失敗するアサーションはスレッドセーフではないため、これらを含めます。

runmodeを「SINGLETON_AND_WAIT」に設定する必要があることがわかりましたが、ここでの私の質問は、それをどのように行うかです。

4

1 に答える 1

2

これを管理する方法はいくつかあります。次の呼び出しを確認してください。これらのアプローチの1つは、の後に使用する必要があります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
}
于 2012-08-29T08:21:34.213 に答える