0

我們的項目需要全面的REST API測試。所以我們使用SOAP-UI Pro進行REST Web服務測試。如何使用SOAP UI中的請求XML驗證響應XML專業版

我想測試以下情形:

存儲的「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> 

在拿我們需要驗證我們是否獲得了上面的'XML'。

我嘗試使用「聲明內容」進行驗證,但由於每次我們存儲它時<c:created-on>2012-08-13T11:01:39Z</c:created-on>值都在更改,因此它失敗。

如何在'SOAP-UI'測試中處理動態響應'XML'標籤?

注:我是Groovy,x-path和X-query以及SOAP UI的新手。

回答

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