1

SOAP応答とJDBC要求からフェッチされたノードの下の要素の値を比較したいと思います。以下のGroovyコードで値を出力することはできますが、コーディングがあまり得意ではないため、同じものを比較できませんでした。

注:要素名は同じですが、両方の応答で順序が異なります。

要素の順序に関係なく、両方の応答からの要素名に基づいて値を比較したいと思います。注:JDBC要素の値がnullでない場合にのみ比較してください。

def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)

def JMSHolder = groovyUtils.getXmlHolder( "SOAPTestStep#Response")
def JDBCHolder = groovyUtils.getXmlHolder( "JDBC Request step#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
}

4

1 に答える 1

0

このスクリプトをご覧ください、多分あなたを助けるでしょう

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
于 2012-10-08T13:17:34.920 に答える