我正在使用带有黄瓜的 ruby selenium webdriver 来运行多个浏览器测试。我有几个步骤可能会引发异常,并且不想在每个步骤周围放置一个开始/救援块。我找到了黄瓜的环绕钩子,它应该允许我在一个大块中调用我的所有步骤,并在其周围放置一个开始/救援块。不幸的是,当引发 selenium 异常时,该块永远不会收到异常。我推测黄瓜,无论出于何种原因,都有它自己的开始/救援块,它在我之前被触发。对于 Rails,有一个名为 @allow-resue 的标签可以让异常通过,不幸的是这不适用于 Selenium。有谁知道解决方法?
问问题
427 次
1 回答
0
绕钩无济于事。完全没有。您只需要查看 '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
因此,如果它不知道内部测试步骤的结果,那么它肯定不会知道其余所述步骤中发生的任何异常。
PS我也有同样的问题...
于 2017-08-08T00:28:30.100 回答