Cucumber,Capybara和Selenium检查是否显示浏览器警报

时间:2014-08-11 12:22:21

标签: ruby selenium cucumber capybara

我正在寻找在测试用例时检查浏览器警报。在我的场景中,如果出现错误,它将提示弹出对话框。我正在寻找解决方案来处理这个问题。到目前为止,我已经完成了这样的功能:

def alert_present?
  begin
    page.driver.browser.switch_to.alert
    true
  rescue
    Selenium::WebDriver::Error::NoAlertOpenError
    false
  end
end

除此之外有什么方法吗?

1 个答案:

答案 0 :(得分:0)

好的,如果您只想接受警报,而您甚至不确定是否会有警报 然后我认为在javascript中覆盖确认方法会做到这一点,只需确保在触发对话框弹出的行之前添加此行

page.evaluate_script('window.confirm = function() { return true; }')
your line of code that triggers the alert 

如果有警报,一旦弹出就会被接受,如果没有,那就不会出现问题。