在空手道中遍历传递给特征文件的 JSON 对象的最佳方法

Best Way to Iterate Through JSON Object Passed to Feature File in Karate

我有一个像 {"id1": 123, "id2": 234} 这样的 JSON 对象,我将它传递给一个特征文件,以便为一系列 API 请求插入上面的每个值,例如:

And path `/somePath/${id1}/detail`

And request {"id": "#(id1)", "action": "Reassign"}

我的第一个想法是使用 Scenario Outline,但无法弄清楚如何在 Examples table 中设置 ID,以便正确读取它们。然后我查看了文档,似乎当我像这样传递一个 JSON 对象时,它应该自动 运行 每个值的场景。问题是,不确定如何设置变量,因为密钥每次都会更改。 或者也许有更好的方法来做到这一点我没有看到?

为了使其正常工作,您的密钥必须相同。在这种情况下,您实际上有一个具有两个属性(id1、id2)的 JSON 对象。相反,你想要的是两个对象:

[
    { "id": 123, "path": "/mydir1/" },
    { "id": 456, "path": "/mydir2/" }
]

另请注意,它必须是您传入的 list/array 个 json 个对象,而不是像您拥有的那样只有一个 blob。如果每个对象都包含路径名,则应将其添加到对象本身。

但是,请再次注意 list/array 中的每个对象都具有相同的结构,只是具有不同的数据。然后,您可以在脚本中使用常见的 属性 名称。