【发布时间】:2020-01-14 06:52:11
【问题描述】:
我的空手道模拟服务器将接受 XML 格式的请求,以下是请求示例:
<methodCall>
<methodName>MyMethod</methodName>
<params>
<param>
<value>
<struct>
<member>
<name>a</name>
<value>abc</value>
</member>
<member>
<name>b</name>
<value><i4>2</i4></value>
</member>
</struct>
</value>
</param>
</params>
在<struct> 内,可能有多个<member> 标签。如何检查请求 <member> 中是否存在特定的 <name> 和特定的 <value>?
我可以定义一个Scenario,如下所示:
Scenario: pathMatches('/test') && methodIs('post') && bodyPath('/methodCall/methodName') == 'MyMethod'
根据methodName 处理请求,但我想做不同的处理取决于它包含的<member>。例如:如果请求包含一个成员为<name>color</name>,其值为<value>blue</value>,那么我将相应地完成这项工作。
【问题讨论】:
标签: karate