如何在SOAPUIPro中使用请求XML验证响应XML

如何在SOAPUIPro中使用请求XML验证响应XML,xml,groovy,soapui,restful-authentication,functional-testing,Xml,Groovy,Soapui,Restful Authentication,Functional Testing,我们的项目需要彻底的RESTAPI测试。因此,我们使用SOAP-UIPro进行RESTWeb服务测试 我想测试以下场景: 存储“XML”文件,并确保要获取相同的“XML”文件 需要使用响应“XML”验证“请求XML”,其中一些“XML标记”是动态的,例如: 请求“XML”是: <c:field xmlns:c="http://iddn.icis.com/ns/core"> <c:id>http://iddn.icis.com/fields/low</c:i

我们的项目需要彻底的RESTAPI测试。因此,我们使用SOAP-UIPro进行RESTWeb服务测试

我想测试以下场景:

存储“XML”文件,并确保要获取相同的“XML”文件

需要使用响应“XML”验证“请求XML”,其中一些“XML标记”是动态的,例如:

请求“XML”是:

<c:field xmlns:c="http://iddn.icis.com/ns/core">  
   <c:id>http://iddn.icis.com/fields/low</c:id>   
   <c:version>1</c:version>   
   <c:created-on>2012-08-13T11:01:39Z</c:created-on>   
   <c:type>field</c:type>
   <c:name>low</c:name>
   <c:value type="integer" /> 
   <c:description xml:lang="en">
      <c:name>low</c:name>
   </c:description>
</c:field>

http://iddn.icis.com/fields/low   
1.
2012-08-13T11:01:39Z
领域
低的
低的
在获取时,我们需要验证是否正在获取上述“XML”

我尝试使用“assert content”进行验证,但失败了,因为每次存储时,
2012-08-13T11:01:39Z
值都在变化

如何在“SOAP-UI”测试中处理动态响应“XML”标记


注意:我不熟悉Groovy、x-path和x-query以及SOAP UI。

您可以尝试在下一个脚本中定义断言测试脚本,也许这会对您有所帮助

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