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

如何在Karate中从Examples数据表直接指定任意行值到JSON键

在Karate Scenario Outline中指定调用指定行Examples数据的方法

如果只想用Examples里第三行(USA+NY)的数据,不用跑其他行,有几个实用方法:

  • 临时注释法(最快)
    直接把Examples里前两行和第四行用#注释掉,只保留第三行,测试完成后再恢复就行:
Examples:
# |India       | DL |
# |India       | KL |
|USA         | NY |
# |India       | MP |
  • 添加过滤标识列
    给Examples加一个判断列,比如RunTest,然后在Scenario里加跳过逻辑:
Scenario Outline: 目标国家数据测试
* def payload = { countryName: '#(CountryValue)', stateName: '#(stateName)' }
# 只执行RunTest为true的行
* if (!RunTest) karate.skip()
# 这里写你的测试步骤

Examples:
|CountryValue| stateName | RunTest |
|India       | DL        | false   |
|India       | KL        | false   |
|USA         | NY        | true    |
|India       | MP        | false   |
  • 标签过滤法
    给Examples的行加上标签,运行时指定只执行目标标签的行:
Scenario Outline: 目标国家数据测试
* def payload = { countryName: '#(CountryValue)', stateName: '#(stateName)' }
# 测试步骤

Examples:
|CountryValue| stateName | @tags    |
|India       | DL        | @skipRun |
|India       | KL        | @skipRun |
|USA         | NY        | @target  |
|India       | MP        | @skipRun |

然后运行时用参数指定:-Dkarate.options="--tags @target"

这些方法里,临时注释最适合快速测试,加标识列或者标签过滤更适合需要长期保留Examples全量数据的场景。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.30 17:39:23