【问题标题】:Rescuing Selenium WebDriver exceptions inside cucumber Around statement拯救黄瓜周围语句中的 Selenium WebDriver 异常
【发布时间】:2013-06-16 16:05:13
【问题描述】:

我正在使用带有黄瓜的 ruby​​ selenium webdriver 来运行多个浏览器测试。我有几个可能引发异常的步骤,并且不想在每个步骤周围放置一个开始/救援块。我找到了黄瓜的环绕钩子,它应该允许我在一个大块中调用我的所有步骤,并在其周围放置一个开始/救援块。不幸的是,当引发 selenium 异常时,该块永远不会收到异常。我推测黄瓜,无论出于何种原因,都有它自己的开始/救援块,它在我之前被触发。对于 Rails,有一个名为 @allow-resue 的标签可以让异常通过,不幸的是这对 Selenium 不起作用。有谁知道解决方法?

【问题讨论】:

标签: ruby exception-handling cucumber selenium-webdriver


【解决方案1】:

绕钩不会有帮助。完全没有。您只需要查看 'around_hook.rb' 'execute' 方法定义:

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

因此,如果它不知道内部测试步骤的结果,那么它肯定不会知道其余所述步骤中发生的任何异常。

附:我也有同样的问题...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-06-28
    • 1970-01-01
    • 1970-01-01
    • 2018-11-27
    • 1970-01-01
    • 2017-01-30
    • 2011-06-15
    • 2017-01-17
    相关资源
    最近更新 更多