在我的SoapUI响应中,我有一个重复自己的XML结构。例如:
<b:quote-data>
<b:quote-data>
<b:premium>4.66</b:premium>
</b:quote-data>
<b:quote-data>
<b:premium>5.6</b:premium>
</b:quote-data>
<b:quote-data>
<b:premium>7.58</b:premium>
</b:quote-data>
</b:quote-data>
我目前有断言用于断言第一个高级字段中的值。我不明白如何使多个断言匹配所有三个字段。
// get the xml response
def response = messageExchange.getResponseContent()
// parse it
def xml = new XmlSlurper().parseText(response)
// find your node by name
def node = xml.'**'.find { it.name() == 'premium' }
// assert
assert node.toString().matches("4.66")
有没有办法跳过第一个字段来资产第二个字段?
答案 0 :(得分:2)
使用findAll
获取所有&#39;溢价&#39;节点并迭代节点列表:
def nodelist = xml.'**'.findAll{ it.name() == 'premium' }
def assertions = [4.66, 5.6, 7.58]
def i=0
// assert
for (node in nodelist) assert node.toString().matches(assertions[i++].toString())