Karate 有没有一种方法可以在空手道的模拟特性文件中验证soap操作?
我有一个模拟包含多个soap操作的soap服务的场景。每个soap操作的响应都是不同的。有没有办法在同一个模拟特征文件中定义所有这些 我在找下面这样的东西 场景路径匹配时(url); 如果soap操作是操作名,或者请求包含特定的xml标记; 返回响应1; 其他的 返回响应2 有没有办法在同一个模拟特征文件中定义所有这些 对。为什么不呢 空手道的卖点在于,您可以将任何复杂的逻辑表示为JavaScript表达式。有关想法,请参阅本节“条件逻辑”: 上面的链接是针对http客户机的,但是您可以对模拟使用相同的概念。我推荐的一种简单方法是复制多个Karate 有没有一种方法可以在空手道的模拟特性文件中验证soap操作?,karate,Karate,我有一个模拟包含多个soap操作的soap服务的场景。每个soap操作的响应都是不同的。有没有办法在同一个模拟特征文件中定义所有这些 我在找下面这样的东西 场景路径匹配时(url); 如果soap操作是操作名,或者请求包含特定的xml标记; 返回响应1; 其他的 返回响应2 有没有办法在同一个模拟特征文件中定义所有这些 对。为什么不呢 空手道的卖点在于,您可以将任何复杂的逻辑表示为JavaScript表达式。有关想法,请参阅本节“条件逻辑”: 上面的链接是针对http客户机的,但是您可以对模拟使
场景:
部分,可能会重复pathMatches()
,但它会非常可读
Scenario: pathMatches('/foo') && paramValue('client') != null
# do something
Scenario: pathMatches('/foo') && requestHeaders['SOAPAction'][0] == 'myaction'
您还可以在后台:
Background:
* def isAction = function(a){ var tmp = requestHeaders['SOAPAction']; return tmp ? tmp[0] == a : null }
Scenario: pathMatches('/foo') && isAction('myaction')
您还可以使用headerContains()函数 场景:路径匹配('/foo')&&headerContains('SOAPAction','myaction'))
请参阅:接受上一个问题的答案。这个问题有没有解决方案?