2012-08-28 41 views
1

我用了SoapUI和測試用例中我有一個調用用來運行測試案例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」,但我的問題在於如何做到這一點。

回答

2

有幾種方法可以管理這個,請查看以下調用。其中一種方法應該在tc.run(...)之後使用。

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

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

// 3) actively manage QoS time out myself. 
while (runner.status == Status.RUNNING) { 
    assert runnner.getTimeTaken() < 1000 
} 
相關問題