You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Karate中Scenario Outline能否同时传入CSV数据与Examples表的JSON数组?

Karate中Scenario Outline是否支持同时使用CSV文件与Examples表两个数据源?

我使用read("csv文件路径")方法从CSV文件读取数据,运行正常。现需在Scenario Outline中同时读取该文件并传入JSON对象列表(JSON数组)。我认为将JSON数组存入CSV并不合适,因此尝试从Examples表传入JSON数组,具体代码如下:

Examples:
   | read('classpath:Features/bulkdata/testdata/customer.csv') |

 | data  |                                                                          
 | [{"k1": "v1","k2": "v2","k3": "v3"},{"k4": "v4","k5": "v5","k6": "v6"}] |
 | [{"k7": "v8","k9": "v9","k10": "v10"}] |

请问在Karate中是否支持同时从两个数据源(一个来自CSV文件,另一个来自Examples表)传入数据?


Karate支持这种同时使用两个数据源的场景,但你当前的写法存在格式错误,需要调整:

  • 不能拆分两个Examples块,必须合并成一个完整的表格,同时包含CSV读取列和自定义JSON数组列,列名要和Scenario Outline中的参数一一对应。
  • 每行Examples数据会将CSV读取结果和对应的JSON数组一起传入场景参数。

调整后的正确代码示例:

Scenario Outline: 多数据源联合测试
  Given 加载CSV数据 <csvData>
  And 传入JSON数组 <data>
  # 后续测试步骤...

  Examples:
    | csvData                                  | data                                                                 |
    | read('classpath:Features/bulkdata/testdata/customer.csv') | [{"k1": "v1","k2": "v2","k3": "v3"},{"k4": "v4","k5": "v5","k6": "v6"}] |
    | read('classpath:Features/bulkdata/testdata/customer.csv') | [{"k7": "v8","k9": "v9","k10": "v10"}] |

补充说明:

  • CSV文件通过read()读取后会返回JSON数组,可在步骤中直接使用或遍历处理。
  • 这种方式既保留了CSV存储结构化数据的便利性,又能灵活传入自定义JSON数组,完全满足你的需求。

内容的提问来源于stack exchange,提问作者Shreyansh Jain

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 17:33:20