【问题标题】:Cucumber examples reuse in different features/scenariosCucumber 示例在不同的功能/场景中重用
【发布时间】:2014-01-23 12:07:08
【问题描述】:

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

实际问题:

是否有解决方案可以使用黄瓜作为示例从单个文件/数据库中导入示例? 或者,有没有办法在已经同步的情况下定义一个变量作为示例? 或者,当我启动功能文件/场景时,是否可以选择将示例作为变量发送?

问题:

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

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

并发症:

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

限制:

我不想编辑我的重播文件

相关:

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

但是,该讨论对我来说是无效的,因为我的 rerun 功能只知道只能使用示例,而那里建议的解决方案破坏了它。

谢谢!

【问题讨论】:

    标签: csv cucumber scenarios


    【解决方案1】:

    您可以通过 QAF 使用不同的 BDD syntax 来使用 CSV 和其他外部文件系统。

    如果你想使用 cucumber step 或 cucumber runner,你可以使用 QAF-cucumber 和 BDD2(首选)或 Gherkin 语法。 QAF-cucumber 将启用外部测试数据和黄瓜的其他 qaf 功能。

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

    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 中的任何一个。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多