请在下面找到示例肥皂请求
<FlowerSearchRequest>
<Request>
<name>ROSE</name>
<color></color>
<smell></smell>
</Request>
</FlowerSearchRequest>
当前功能
<Request>
- <name>
是必填字段<Request>
- <color>
和<Request>
- <smell>
不是强制性的,即它们可以为空(<smell></smell>
)但不能为空<FlowerSearchResponse>
包含所有请求参数<Request>
以及<ResponseList>
下此请求的响应参数(如下所示)<Request>
,响应可以包含<Response>
下的<ResponseList>
元素列表ROSE
进行搜索,则结果较少<Response>
- <smell>
元素可能/可能没有值(但不能为空)<Response>
是动态的,即,如果我使用Lily
进行搜索,我可能会获得10个或更多<Response>
元素上述请求的SOAP响应
<FlowerSearchResponse>
<Request>
<name>ROSE</name>
<color></color>
<smell></smell>
</Request>
<ResponseList>
<Response>
<name>ROSE</name>
<color>Red</color>
<smell>Pleasant</smell>
</Response>
<Response>
<name>ROSE</name>
<color>Blue</color>
<smell>UnPleasant</smell>
</Response>
<Response>
<name>ROSE</name>
<color>Yellow</color>
<smell></smell>
</Response>
</ResponseList>
</FlowerSearchResponse>
问题
在SOAP UI中,如何自动化以下情况?
<Response>
元素(在编写断言时不确定<Response>
标记的数量),即使单个<Response>
有空白也会断言<smell>
元素<Response>
元素时应该只考虑 <smell>
- <smell>
元素,即不应该考虑 <Request>
- <smell>
P.S:我真的是SOAP UI断言的新手 - 努力寻找使用xslt
的解决方案,但到目前为止还没有成功。
答案 0 :(得分:0)
如果您希望XPath表达式返回true或false,具体取决于是否有任何Response/smell
元素没有内容:
(: returns true if NO single one smell element is empty :)
empty(//Response/smell[empty(node())])
如果你想要计算它们:
(: returns the number of empty smell elements :)
count(//Response/smell[empty(node())])