Feature:
Background:
* def Json = Java.type('Json')
* def dq = new Json()
* def result = dq.makeJson()
* def Sku = dq.makeSku()
Scenario Outline: id : <id>
* print '<id>' #From result
* print '<abc>' #From Sku
Examples:
|result|Sku|
If i have id = {1,2} and abc = {3,4} i want output to be
id = 1 and abc = 3
id = 1 and abc = 4
id = 2 and abc = 3
id = 2 and abc = 4
自己写排列逻辑,用结果建立一个数组。注意,您可以使用karate.foreach()
迭代JSON的键值对
然后使用(第二个功能文件的)数据驱动循环调用:
# array can be [{ id: 1, abc: 3 }, {id: 1, abc: 4 }] etc
* def result = call read('second.feature') array
或动态方案大纲:
Scenario Outline:
* print 'id = <id> and abc = <abc>'
Examples:
| array |
下面是我的示例功能文件: 我将期待失败的这个功能,并转移到下一个。
我想使用资源文件夹中的所有图像运行我的场景。这意味着每次使用不同的图像访问相同的api(首先将它们转换为Base64编码)。但是,由于这些图像已经在资源文件夹中,因此在csv中保存一些名称或记录以供场景大纲使用是没有意义的。我可以在示例部分调用我自己的函数(有代码从资源文件夹中获取图像并将其转换为base64),这样对于每个图像,它都会再次命中相同的api。
我有一个情况,我需要在空手道中传递不同种类的日期类型变量。为此,我创建了一个JAVA方法,并在一个特性文件中调用它,如下所示。 我读到它的cucumber限制,不能支持动态变量在场景大纲。我也读过https://github.com/intuit/karate#the-karate-way,但不知何故,我不知道如何解决下面的情况。
在这里,我想澄清一下如何为动态JSON索引大小创建动态示例表 我的JSON看起来像 Env-Dev-2服务器 Env-Uat-3服务器 我的场景大纲看起来像 上述错误: 1) *动态表达式计算失败:result.response.abc 2)com.intuit.karate.karateExpresion: ---- javascript评估失败result.response.abc,Requi
有没有可能用gherkin写一个场景大纲,其中有一个断言步骤,而不是在所有的例子中都需要? null 有没有更好的写法?
data.json ====