バスケットに追加する 1..n 個のアイテムを受け入れるリクエストがあります。デフォルトのリクエストには、いくつかの子要素を持つ 1 つの「item」要素があります。子要素を持つ N 個のアイテムを追加したいです。creaeElementNS を使用して Item 親要素を追加できます。次のように「item」に子要素を追加したいのですが、誰かがこれに光を当てる
<basket:item>
<basket:itemId>222</basket:itemId>
<basket:itemCode>DEF</basket:itemCode>
<basket:item>
Groovy スクリプト
def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context )
def holder = groovyUtils.getXmlHolder( "createBasket#Request" )
def parentnode = holder.getDomNode( "//basket:createBasketRequest" )
def basketTotal= holder.getDomNode( "//basket:itemsTotal" )
def itemsTag = requestDoc.createElementNS(parentnode.getNamespaceURI(), "item")
parentnode.insertBefore(itemsTag , basketTotal)
holder.updateProperty()
電流出力
<basket:createBasketRequest>
<basket:item>
<basket:itemId>111</basket:itemId>
<basket:itemCode>ABC</basket:itemCode>
</basket:item>
<basket:item>
</basket:item>
<basket:itemsTotal>500.00</basket:itemsTotal>
</basket:createBasketRequest>
望ましい出力
<basket:createBasketRequest>
<basket:item>
<basket:itemId>111</basket:itemId>
<basket:itemCode>ABC</basket:itemCode>
</basket:item>
<basket:item>
<basket:itemId>222</basket:itemId>
<basket:itemCode>DEF</basket:itemCode>
<basket:item>
<basket:itemsTotal>500.00</basket:itemsTotal>
</basket:createBasketRequest>
編集:私はsoapUIとTestCaseオプションを使用しています。追加バスケットリクエストステップの前にGroovyScriptステップがあります.groovyスクリプトは、実際にリクエストを送信する前に追加バスケットリクエストを準備します.別のアイテム要素を追加する心配はありませんが、私のテストケースが2つのアイテムを言うとき、実際にバスケット追加リクエストを送信する前に、2番目のアイテム要素(子要素とともに)を作成し、groovyスクリプトステップを使用してバスケット追加リクエストを準備する必要があります