如果从文件中读取数据,如何运行场景大纲?

时间:2017-10-17 08:36:48

标签: cucumber gherkin cucumber-java cucumber-junit cucumber-serenity

我认为我们大多数人都遇到过一个看似简单的黄瓜问题。但我不知道如何解决它。

假设我有以下场景大纲示例。它的执行方式是:

1)它检索第一行数据,用它按顺序执行步骤1,2,3

2)然后它使用第二行数据,做同样的事情......

3)然后第3行......

  Scenario Outline: Test state
    Given <state> <other_state> is used in step 1
    And <state> <other_state> is used in step 2 
    And <state> <other_state> is used in step 3
  Examples: Rainbow colours
    | state    | other_state |
    | missing  | passing     |
    | passing  | passing     |
    | failing  | passing     |

就我而言,我的数据“state”“other_state”是从文件中读取的,因此我无法将数据显式地放在要素文件中。我已经为'Given'和'And'步骤创建了步骤定义。

我怎样才能以大纲的方式运行场景?我可以在'Given'中获取所有数据,但我不能在循环中运行N次以下步骤。

1 个答案:

答案 0 :(得分:1)

我会努力不通过附带细节污染功能文件。这听起来像偶然的细节隐藏在文件中,你的问题是如何从Gherkin读取它们。关于如何从小黄瓜读取文件的简短答案是 。您不会从Gherkin读取文件,而是从您的步骤正在使用的支持代码中读取文件。