空手道方案大纲-根据JSON数组索引大小创建动态示例表

时间:2019-10-11 03:16:01

标签: karate

在这里,我想澄清有关为动态JSON索引大小创建动态示例表的信息

我的JSON看起来像

环境-开发-2台服务器

"response": {
    "abc": [{
            "status": "pass"
                .
                .
        },
        {
            "status": "pass"
                .
                .
        }
    ]
}

Env-Uat-3台服务器

{
    "response": {
        "abc": [{
                "status": "pass"
            },
            {
                "status": "pass"
            },
            {
                "status": "pass"
            }
        ]
    }
}

我的方案大纲如下

Scenario Outline: validating .....

When def result = callonce read('featurefilename@tagname')

Then print result

And print <status>

And print ...

And match ....

Examples:

|result.response.abc|

上述错误:

1)*动态表达式评估失败:result.response.abc

2)com.intuit.karate.karateExpresion:---- JavaScript评估失败result.response.abc,ReferenceError:在第1行未定义“结果”

注意-如果将步骤“当def result = callonce read('featurefilename @ tagname')移至背景时,它可以正常工作,但是由于其他因素,我无法在功能文件中使用背景。

预先感谢

1 个答案:

答案 0 :(得分:1)

您可以利用空手道中的Dynamic Scenario Outline功能来代替在表中提供索引。

在这种情况下,您可以将变量作为输入传递给Examples。如果上面提供的JSON来自变量result,则

Examples:
 | result.response.abc |

有关更多信息,请参阅文档。