在空手道中的动态 scneario 轮廓的情况下,我如何传递 JSON 数组以及场景大纲示例中的另一个参数

In the case of dynamic scneario outline in karate, how can I pass a JSON array as well as another parameter in the examples for a scenario outline

提问人:Chethan Swaroop 提问时间:1/19/2022 最后编辑:Chethan Swaroop 更新时间:1/19/2022 访问量:946

问:

我有以下JSON文件:

Input.json:

{
"fieldList1": [
    {
      "datatype": "timestamp",
      "fieldName": "DATE_"
    },
    {
      "datatype": "decimal",
      "fieldName": "DECIMAL_"
    },
    {
      "datatype": "double",
      "fieldName": "FLOAT_"
    }
  ]
 }

我正在阅读这篇文章,作为我的示例,在我的场景大纲中,如下所示:

TestScenario.feature:

Feature: scenario outline test
 Background:
   * def fieldListJson = call read(Input.json)
   * def fieldList = karate.jsonPath(fieldListJson,$.fieldList1)[0]

Scenario Outline: Test

  * def print <datatype>
  * def print <fieldName>

Examples:
  |fieldList|

我想针对另一组参数为 fieldList 运行此方案,比如

|Sources|
|oracle |
|sql    |
|csvfile| 

这可能吗?我找不到任何这样的动态场景大纲来实现这样的场景。 请提出任何建议。

JSON 空手道

评论


答:

1赞 Peter Thomas 1/19/2022 #1

规则是它必须是一个数组。该数组中的内容由您决定。

a) 有很多方法可以将现有数据转换为所需的数组“形状”: https://stackoverflow.com/a/62833549/143475

b) 使用数据驱动而不是 ,因为这样定义的任何变量对被调用的特征都是“可见的”:https://stackoverflow.com/a/69699486/143475callScenario Outline