在空手道中通过传递到特征文件的JSON对象进行迭代的最佳方法



我有一个JSON对象,如{"id1": 123, "id2": 234},我将其传递到一个功能文件,以便为一系列API请求插入上面的每个值,如:

And path `/somePath/${id1}/detail`
And request {"id": "#(id1)", "action": "Reassign"}

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

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

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

还要注意,它必须是您传递的json对象的列表/数组,而不仅仅是像您所拥有的一个blob。如果每个对象都包含一个路径名,则应该将该内部名称添加到对象本身中。

但是,请再次注意,列表/数组中的每个对象都具有相同的结构,只是具有不同的数据。然后在脚本中使用公共属性名称。

最新更新