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

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")
}

  

转载于:https://www.cnblogs.com/MasterMonkInTemple/p/6676840.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值