2014-09-05 59 views
1

我写了一个钩子捕获成功的测试截图:如何在选定的黄瓜场景后才能运行钩子?

After do |scenario| 
    if scenario.passed? 
    screenshot_pass = "/VVR_Browser_BDD/Test Pass/#{scenario.name}.jpeg" 
    page.save_screenshot screenshot_pass 
    end 
end 

这件工作得很好的时刻,但我的测试套件的增长,我会通过截图来溢出。我想在使用此钩子时选择并选择。

我知道有一个特征文件,您可将其标记,如:

@happypath 
When /^I log into a page$/ do 

等等等等

可以在同一个标​​签机制,用于调用挂钩?

我只想运行我编写的新测试的屏幕截图,让我满意他们在我的完整测试套件集成之前正确工作。

回答

2

如果要调用的代码作为挂钩的一部分,你应该能够为

After('@take_screenshot') do |scenario| 
    if scenario.passed? 
    screenshot_pass = "/VVR_Browser_BDD/Test Pass/#{scenario.name}.jpeg" 
     page.save_screenshot screenshot_pass 
    end 
end 
+0

我最初使用标记的场景

@take_screenshot When /^I log into a page$/ do 

那么你的钩子可以被称为执行的操作这但我决定使用替代方案。我配置了我的env文件以包含ENV(Save_Pass)然后执行等。然后在cmd中,我只需键入set Save_Pass = true。这只会在黄瓜开放的时候保存截图。 – Tom 2014-09-10 08:24:17