如何在脚本断言中获取特定父元素的子元素?
How to pick up child element of specific parent element in Script Assertion?
我有以下 XML 示例,该示例显示节点 'ProductCode' 多次出现在两个节点 'PrevHospProduct' 和 'PrevExtrasProducts'.[=13 下=]
<ns2:PrevHospProducts>
<ns2:PrevHospProduct>
<ns2:ProductCode>D00</ns2:ProductCode>
<ns2:ExcessPaid>Yes</ns2:ExcessPaid>
</ns2:PrevHospProduct>
<ns2:PrevHospProduct>
<ns2:ProductCode>900</ns2:ProductCode>
</ns2:PrevHospProduct>
</ns2:PrevHospProducts>
<ns2:PrevExtrasProducts>
<ns2:PrevExtraProduct>
<ns2:ProductCode>00A</ns2:ProductCode>
</ns2:PrevExtraProduct>
</ns2:PrevExtrasProducts>
对于此测试,我只对 'ProductCode' 中的值感兴趣,它们是 'PrevHospProduct' 的子项。我对 'PrevExtrasProducts'.
下的任何值都不感兴趣
我有以下 Groovy Script Assertion in SoapUI
来获取 'ProductCode' 中的值,但测试失败,因为实际结果也从 'D00'、'900' 和 '00A' 返回示例响应。我只希望预期结果选择值 'D00', '900'.
def expectedCodes = ['D00','900']
def pxml = new XmlSlurper().parseText(context.response)
def actualCodes = pxml.'**'.findAll{it.name() == 'ProductCode' }*.text() as List
assert expectedCodes.sort() == actualCodes.sort()
首先需要找到父节点即PrevHospProduct
然后得到ProductCode
.
这里是 script assertion
:
def expectedCodes = ['D00','900']
def pxml = new XmlSlurper().parseText(context.response)
def actualCodes = pxml.'**'.findAll{it.name() == 'PrevHospProduct'}*.ProductCode*.text() as List
log.info actualCodes
assert expectedCodes.sort() == actualCodes.sort()
我有以下 XML 示例,该示例显示节点 'ProductCode' 多次出现在两个节点 'PrevHospProduct' 和 'PrevExtrasProducts'.[=13 下=]
<ns2:PrevHospProducts>
<ns2:PrevHospProduct>
<ns2:ProductCode>D00</ns2:ProductCode>
<ns2:ExcessPaid>Yes</ns2:ExcessPaid>
</ns2:PrevHospProduct>
<ns2:PrevHospProduct>
<ns2:ProductCode>900</ns2:ProductCode>
</ns2:PrevHospProduct>
</ns2:PrevHospProducts>
<ns2:PrevExtrasProducts>
<ns2:PrevExtraProduct>
<ns2:ProductCode>00A</ns2:ProductCode>
</ns2:PrevExtraProduct>
</ns2:PrevExtrasProducts>
对于此测试,我只对 'ProductCode' 中的值感兴趣,它们是 'PrevHospProduct' 的子项。我对 'PrevExtrasProducts'.
下的任何值都不感兴趣我有以下 Groovy Script Assertion in SoapUI
来获取 'ProductCode' 中的值,但测试失败,因为实际结果也从 'D00'、'900' 和 '00A' 返回示例响应。我只希望预期结果选择值 'D00', '900'.
def expectedCodes = ['D00','900']
def pxml = new XmlSlurper().parseText(context.response)
def actualCodes = pxml.'**'.findAll{it.name() == 'ProductCode' }*.text() as List
assert expectedCodes.sort() == actualCodes.sort()
首先需要找到父节点即PrevHospProduct
然后得到ProductCode
.
这里是 script assertion
:
def expectedCodes = ['D00','900']
def pxml = new XmlSlurper().parseText(context.response)
def actualCodes = pxml.'**'.findAll{it.name() == 'PrevHospProduct'}*.ProductCode*.text() as List
log.info actualCodes
assert expectedCodes.sort() == actualCodes.sort()