【发布时间】:2021-07-21 22:27:24
【问题描述】:
我使用的是空手道版本 0.8.0.1,我想执行以下步骤来测试一些响应。
-
我创建了一个获取网络服务 1
-
使用 jsonpath:
$.currencies从 Web 服务 1 的响应中查找货币值 -
第 2 步给我以下结果:
["USD","HKD","SGD","INR","GBP"] -
现在我对 Web 服务 2 使用 Get 方法
-
从 web 服务 2 的响应中,我想使用 json-path 获取 price 字段的值,如下所示(传递上面第 3 步中的值):
$.holding[?(@.currency=='USD')].price$.holding[?(@.currency=='HKD')].price$.holding[?(@.currency=='SGD')].price$.holding[?(@.currency=='INR')].price$.holding[?(@.currency=='GBP')].price
所以有这么多货币,但我只想验证 Web 服务 1 返回的货币的价格(这将始终是随机的)并将其传递给 Web 服务 2 的输出以获取价格。 一旦我得到价格,我会将每个价格值与从数据库返回的值进行匹配。
我不确定是否有任何简单的方法可以将服务1返回的值一一传递到服务2的json-path中并获得所需的结果。这样做的任何建议都会有所帮助,因为我将自动化的大多数 Web 服务都是这种情况。
【问题讨论】:
标签: karate