您的位置:首页 > 产品设计 > UI/UE

[SoapUI] 设置最大等待时间,不断重复的去发送一个request,每次从response中获取一个status,直到这个status从一种状态变成另外一种状态

2017-04-07 10:19 525 查看
import com.eviware.soapui.support.GroovyUtils

def groovyUtils = new GroovyUtils( context )
def holder = groovyUtils.getXmlHolder( "checkProgressOfRunExport#ResponseAsXml" )

//Check whether the data is null or it doesn't contains state
def data = holder.getNodeValue("//data[1]/text()")

//If the running status is not 1 after 3 minutes, it means the test step timeout
def waitingTime = Integer.parseInt(context.expand('${#TestCase#runningTime}'))
log.info "The running time is : " + waitingTime +"s"
if(waitingTime == 180){
testRunner.testCase.setPropertyValue("runningTime", "0")
assert false, "Wait to run export, time is out after 3 minutes"
}

//Parse running status
def status = "1"
if((data!=null)&&(data.indexOf("running")!=-1)){
status = data.split("running=\"")[1].split("\"")[0]
log.info "The running status is : "+status
}

//Run the step [checkProgressOfRunExport] every 2 seconds
if(status!="0"){
waitingTime+=2
testRunner.testCase.setPropertyValue("runningTime", waitingTime.toString())
sleep(2000)
testRunner.gotoStepByName("checkProgressOfRunExport")
}else{
//Set the running time to default value "0"
testRunner.testCase.setPropertyValue("runningTime", "0")
}


  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐