Javascript 请确认浏览器对话框,该对话框显示页面何时开始刷新

Javascript 请确认浏览器对话框,该对话框显示页面何时开始刷新,javascript,selenium,cucumber,Javascript,Selenium,Cucumber,当一个场景完成时,页面会刷新(在网站中,在刷新页面之前会实现一个javascript模式,该模式会询问用户“是否确实要离开页面?”)。我需要确认一下。但当我为此创建步骤时,总是会出现以下错误: Then User clicks "Leave this page" button in the popup at online reg form no alert open (Session info: chrome=35.0.1916.114) 代码呢 And(/^Use

当一个场景完成时,页面会刷新(在网站中,在刷新页面之前会实现一个javascript模式,该模式会询问用户“是否确实要离开页面?”)。我需要确认一下。但当我为此创建步骤时,总是会出现以下错误:

Then User clicks "Leave this page" button in the popup at online reg form
      no alert open
        (Session info: chrome=35.0.1916.114)
代码呢

And(/^User clicks "([^"]*)" button in the popup at online reg form$/) do |button|
  wait = Selenium::WebDriver::Wait.new
  alert = wait.until { page.driver.browser.switch_to.alert }
  alert.accept
end

有人知道如何处理这个问题吗?

您需要覆盖javascript中的确认对话方法,以始终返回true

page.evaluate_script('window.confirm = function() { return true; }')
在触发对话框弹出的代码行之前使用这一行,它将始终接受它,无需更多步骤:)