如何在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
相关产品推荐
相关产品推荐

