这是我的功能文件,该文件仅加载json文件,并希望在同一文件上进行迭代
Background:
* def kittens = read('../json/test.json')
Scenario Outline: cat name: <name>
* print <name>
Examples:
| name |
| kittens |
这是输出
[
{
"name": "Bob"
},
{
"name": "Wild"
},
{
"name": "Nyan"
},
{
"name": "Keyboard"
},
{
"name": "LOL"
},
{
"name": "Ceiling"
}
]
据我了解,这应该运行7次并为我提供单独的变量值,但是它仅运行一次并给我完整的json作为输出。
让我知道我是否想念任何东西。
答案 0 :(得分:1)
您正在传递带有变量name
的列表/数组,它将仅运行一次,因为它将整个json数据解释为单个变量name
。
您可能已经注意到它将所有数据打印在test.json中 一次,因为它是正常情况下的轮廓。
您应该按如下所示直接传递数组,以使其成为动态方案大纲。
Feature: Dynamic Scenario Outline
Background:
* def kittens = read('../json/test.json')
Scenario Outline: cat name: <name>
* print <name>
Examples:
| kittens |
对于动态方案概述,如果您的json中的密钥为<name>
,则变量"name"
实际上将从您的json派生。不能作为Examples:
中列表的标题。
空手道文档-Dynamic Scenario Outline
答案 1 :(得分:-1)
@Babu Sekaran。它没有像上面那样打印猫的名字。 它是迭代次数,但不打印任何东西。然后我使用 * print '' 表示包含引号。然后它开始打印猫的名字。
Feature: Dynamic Scenario Outline
Background:
* def kittens = read('test.json')
Scenario Outline: cat name: <name>
* print '<name>'
Examples:
| kittens |