[Groovy]获取当前活动的Environment,获取response中节点的name和节点的value

import com.eviware.soapui.support.GroovyUtils
import com.eviware.soapui.support.XmlHolder
import org.w3c.dom.Node
import org.apache.commons.lang.StringUtils
import java.util.HashSet

def groovyUtils = new GroovyUtils(context)
def xmlHolder = groovyUtils.getXmlHolder(messageExchange.getResponseContent())
def activeEnv = context.expand( '${#Project#activeEnv}' )
log.info "The active environment is $activeEnv"

String[] fixClientIdArray 
if(activeEnv=="LIVE"){
 fixClientIdArray = new String[2]
 fixClientIdArray[0] =       "6e2ba3e9-68a4-4c8f-a164-f026e7239cf7"
 fixClientIdArray[1] =      "dfba4888-348a-4fb1-91f7-8a03fb6aa775" 
}

if(activeEnv=="QA"){
 fixClientIdArray = new String[3]
 fixClientIdArray[0] =      "6fe9b969-3711-4083-a8c4-186e75e6e9e7"
 fixClientIdArray[1] =      "43ec112f-cd57-4d84-a5e8-1d62e1f71244"
 fixClientIdArray[2] =      "8c8e3e6a-0cb1-41d0-a07b-ca3fff506cee"
}

def fixSet = new HashSet()

for(String clientId : fixClientIdArray){
	fixSet.add(clientId)
}

String xPath = "//clients/client"
Node[] nodeArray = xmlHolder.getDomNodes(xPath)
int actualCount = nodeArray.length
int expectedCount = context.expand('${#Project#ClientCount}').toInteger()

assert fixSet.size() == expectedCount

log.info "Actual : nodeArray.length of  "+xPath+" : "+actualCount
log.info "Expected : nodeArray.length  is : "+expectedCount
assert actualCount==expectedCount

String clientIdPath = xPath + "/@id"

String[] valueArray = xmlHolder.getNodeValues(clientIdPath)
log.info "valueArray.length of "+clientIdPath+":"+valueArray.length
assert valueArray != null && valueArray.length>0
for(String value : valueArray){
	log.info "value:"+value
	assert StringUtils.isNotBlank(value)
	assert fixSet.contains(value)

	fixSet.remove(value)
}

assert fixSet.size() == 0

 

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值