【问题标题】:Comparing element values of SOAP Response and JDBC response in SOAPUI using groovy使用groovy比较SOAPUI中SOAP响应和JDBC响应的元素值
【发布时间】:2012-05-05 03:34:33
【问题描述】:

我想比较从 SOAP 响应和 JDBC 请求中获取的节点下元素的值。 我可以使用下面的 groovy 代码打印值,但由于我不太擅长编码,所以无法进行比较。

注意:两个响应中的元素名称相同,但顺序不同。

我想根据两个响应中的元素名称比较值,而不考虑元素的顺序。 注意:仅当 JDBC 元素值不为空时进行比较。

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(上下文)

def JMSHolder = groovyUtils.getXmlHolder("SOAPTestStep#Response")
def JDBCHolder = groovyUtils.getXmlHolder("JDBC 请求步骤#ResponseAsXml")

def node1 = JMSHolder.getDomNodes("//ns0:Study[1]/")
def node2 = JDBCHolder.getDomNodes("//Row[1]/
")

node1.each {
log.info it.QName.getLocalPart()
log.info it.firstChild.nodeValue
}

node2.each {
log.info it.QName.getLocalPart()
log.info it.firstChild.nodeValue
}

【问题讨论】:

    标签: xml groovy compare


    【解决方案1】:

    请看这个脚本,也许会对你有所帮助

    def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
    def holder = groovyUtils.getXmlHolder( "Request#Request" );
    def holder2 = groovyUtils.getXmlHolder("Responses#ResponseAsXml")
    
    def stringList=[]
    def stringList2=[]
    
    for( node in holder['//name] )
    {  
      stringList =stringList+node 
    }
    
    
    for( node2 in holder2['//name'] )
    { 
      stringList2 =stringList2+node2 
        if (node2 in stringList ) assert true
        else assert null
    }
    
    
    log.info "Request>" + stringList
    log.info "result>"+ stringList2
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多