2015-04-02 23 views
0

我们在Ruby中使用Cucumber和Selenium。在阅读documentation on hooks后,我试着设置一些标签来设置(例如)一些环境变量。方案挂钩只在场景轮廓上有效吗?

下面是一个人为的例子,演示了这个问题。

当我建立一个Before钩,象这样:

Before('@tag1', '@tag2') do 
    puts "in the before hook!" 
end 

这需要有像这样定义的场景效果:

@tag1 @tag2 
Scenario Outline: This is a test scenario 
    Given I run my first step for "<user>" 
    Then I complete my test 

@firstrun 
Scenarios: 
|user| 
|fred| 

@secondrun 
Scenarios: 
|user| 
|barney| 

..however如果我搬到@tag1@tag2到个别场景而不是场景大纲,挂钩永远不会被调用,例如:

@secondrun @tag1 @tag2 
Scenarios: 
|user| 
|barney| 

是否有可能'勾住'个别情景,或只是轮廓?

回答

1

通常情况下,大纲显示的是您正在测试的值表与此关联,而不是单独的情景。

E.g

ScenarioOutline 
    Given I am on gmails website 
    When I login as <user> with <password> 
    Then I am able to view my primary inbox 
    Example: 
    | user | password | 
    | Fred | xd13#%& |