• [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
    
  • 相关阅读:
    MySQL(错误1064)
    如何判断是手机还是电脑访问网站
    Oracle表分区
    分离Date数据
    多对多
    一对多
    SQLalchemy基础
    paramiko上传下载
    paramiko
    automap
  • 原文地址:https://www.cnblogs.com/MasterMonkInTemple/p/4596951.html
Copyright © 2020-2023  润新知