如何在特征背景中传递变量"给出"黄瓜的声明?

时间:2017-02-07 05:19:50

标签: java cucumber gherkin jgiven

@TestHomeValidation
Feature:copy function test

  Background:
    Given I am running test in "VARIABLE" environment

我可以在上面给出的背景语句中使用VARIABLE吗?我想从属性文件中传递此VARIABLE值。

3 个答案:

答案 0 :(得分:1)

我担心您希望能够使用外部数据源存储变量以提供给Cucumber步骤。您可能会考虑使用DataTable s Scenario Outline s。在这两种情况下,您都可以提供一些本地(特征内文件)参数。例如:

Scenario: Scenario1 
  Given I have done "this" #this can be parsed by the glue code
  Then these can be used: #You can use DataTable type to parse multiple groups of variables
    | col1 | col2 | col3 |
    | x    | x1   | x2   |
    | y    | y1   | y2   |


Scenario Outline: <col1> test 
  Given I have done "<col2>"
  Then I can see "<col3>"
    | col1 | col2 | col3 |
    | par1 | par2 | par3 |

答案 1 :(得分:1)

就像@ eugene-s提到的那样,开箱即用是不可能的。

我有一个类似的情况,我需要替换并可能从外部文件添加更多变量。

我们要解决的问题是使用Gherkin parser解析功能,输入值并创建新树,可以将其写入新文件并传递或直接在测试运行器中替换。

如果有兴趣,您可以关注开发here

答案 2 :(得分:1)

您可以使用QAF gherkin client实现此目的。

@TestHomeValidation
Feature:copy function test

  Background:
    Given I am running test in "${my.env}" environment

在属性文件中提供您的my.env。您还可以使用QAF

配置environment specific resources