0

私たちのプロジェクトでは、徹底的な REST API テストが必要です。そのため、REST Web サービスのテストには SOAP-UI Pro を使用しています。

次のシナリオをテストしたいと思います。

「XML」ファイルを保存し、同じ「XML」ファイルを取得することを確認してください。

一部の「XML-tags」が動的である場合、「request-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 を初めて使用します。

4

1 に答える 1

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
于 2012-10-04T09:27:33.337 に答える