2013-06-19 51 views
0

我使用红宝石selenium webdriver与黄瓜运行多个浏览器测试。我有几个步骤可以提出例外情况,并且不希望在每一步都放置一个开始/救援模块。我发现黄瓜的环绕钩应该让我把所有的步骤都放在一个大块里,然后在周围放一个开始/救援块。不幸的是,当发生硒异常时,块永远不会收到异常。无论出于何种原因,我正在理论化黄瓜,它有自己的开始/救援块,在我之前触发。对于rails,有一个名为@ allow-resue的标签可以让异常通过,不幸的是这对Selenium不起作用。有没有人知道解决方法?拯救Selenium WebDriver在黄瓜内部的异常大约陈述

+0

我的问题是非常相似的这个这里http://stackoverflow.com/questions/12787032/handling-exceptions-on-cucumber-scenarios?rq=1 – Noah

+0

但似乎没有人能够帮助这个,而那是大约一年前 – Noah

回答

0

围绕钩不会帮助。完全一样。你只需要看看'around_hook.rb“执行”的方法定义:

def execute(*args, &continue) 
    @timer.start 
    @block.call(continue) 
    Result::Unknown.new # Around hook does not know the result of the inner test steps 
rescue Result::Raisable => exception 
    exception.with_duration(@timer.duration) 
rescue Exception => exception 
    failed(exception) 
end 

所以,如果它不知道的内部测试步骤的结果,那么它绝对不会知道在ocurring任何异常其余的步骤。

P.S.我有同样的问题...