SoapUI多节点匹配断言

时间:2017-12-07 16:10:19

标签: xml soapui

我有以下结构作为回应

response

我需要一个断言来检查给定角色是否存在给定的Action。

我知道如何使用exists(...)检查特定节点,但如何检查角色的操作? FE。断言myRole存在REVOKE_ROLE,UPDATE_ROLE。

我试图将两个表达式放在同一个断言中,但似乎SoapUI只允许每个断言一个表达式。如果我将它们放在单独的断言中,它将匹配我寻找的所有操作,无论角色如何。这种检查是否可以使用XPath Match或我做错了我应该使用其他一些断言?

1 个答案:

答案 0 :(得分:1)

我设法使用XQuery Match

来解决这个问题

表达式:

<Result>
{
for $x in //ns1:getUserA/RolePro/RoleProv/Role[ns4:Abbreviation="myRole"]
return data($x/../Prov/Provi/ns4:Abbreviation/text())
}
</Result>

预期结果:

<Result>REVOKE_ROLE UPDATE_ROLE GRANT_ROLE</Result>