黄瓜,确认浏览器对话框,显示页面开始刷新的时间

时间:2014-05-23 07:52:52

标签: 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(/^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

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

1 个答案:

答案 0 :(得分:0)

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

page.evaluate_script('window.confirm = function() { return true; }')

在触发弹出对话框的代码行之前使用此行,它将始终接受它,不再需要步骤:)