黄瓜示例在不同的功能/场景中重用

时间:2014-01-23 12:07:08

标签: csv cucumber scenarios

我已经使用黄瓜一段时间了,我偶然发现了一个问题:

实际问题:

是否有解决方案从单个文件/ db导入示例使用黄瓜作为示例? 或者有没有办法定义一个变量,同时已经步入一个例子? 或者另外,当我启动特征文件/场景时,是否有选项将示例作为变量发送?

问题:

我有几个场景,我想一遍又一遍地使用完全相同的例子。

这听起来相当简单,但示例表非常大(更具体地说,它包含了世界上所有国家及其相应的大陆)。因此重复它将非常麻烦,特别是如果表需要更改(我将需要单独更改表的所有实例)

并发症:

我有一个重新运行的函数,它知道特定示例何时失败并在测试完成后重新运行它。

限制:

我不想编辑我的重新运行文件

相关:

我注意到已经有一个关于从csv导入它的公开讨论: Importing CSV as test data in Cucumber?

然而,这个讨论对我来说是无效的,因为我有重新运行的功能,只知道只使用示例,并且解决方案建议那里有废墟。

谢谢!

1 个答案:

答案 0 :(得分:0)

您可以将QAF和CSV和其他外部文件系统一起使用不同的BDD syntax

如果要使用黄瓜台阶或黄瓜浇口,可以使用QAF-cucumber和BDD2(首选)或Gherkin语法。 QAF-cucumber将启用黄瓜的外部测试数据和其他Qaf功能。

下面是使用BDD2语法的示例功能文件,可以使用TestNGCucumber运行程序来运行。

Feature: feature uses external data file

@datafie:resources/${env}/testdata.csv
@regression 
Scenario:  Another scenario exploring different combination using data-provider
    Given a "${precondition}"
    When an event occurs
    Then the outcome should "${be-captured}"   

testdata.csv 文件如下所示:

TestcaseId,precondition,be-captured
123461,abc,be captured
123462,xyz,not be captured

您可以使用TestNGCucumber运行器运行。您也可以使用inbuilt data providercustom中的任何一个。