在 Firefox 中确认警报但之后没有任何反应

Alert confirmed in Firefox but nothing happens after

进行一个选择单选按钮的测试,然后单击删除按钮触发模态 dialog/alert 框弹出。

我正在使用 Cucumber,所以步骤如下:

When /^i confirm the alert$/ do 
      Watir::Wait.until(timeout: 10) {@browser.alert.exists?}
      puts "i see the alert"
      @browser.alert.ok 
end

我加入了懒惰的调试步骤,因为我认为这可能是一个 browser/driver 问题。

我已经在 Chrome 中完成了这项工作,但对于我所处的特定环境的特定脚本来说,这不是一个选项。

Firefox 是我唯一的选择,结果如下:

然后我收到无法定位警报(Watir::Exception::UnknownObjectException)

我正在使用 Firefox 45 ESR / Selenium Webdriver 3.0.5

不确定这是否是 Firefox/Selenium 兼容性问题?

单击警报确定 按钮后应用程序不执行任何操作

确保您使用的是 Watir 6.2.1;我们刚刚发布了一个错误修复程序,可能会为您解决此问题。

已找到修复方法!这很简单。我只需要将警报处理发送到 Selenium 而不是 Watir。

而不是调用 Watir::Alert class:

@browser.alert.ok 

我只需要让 Selenium 处理它。这在 FF 和 Chrome 中都有效:

And(/^the user confirms the alert via selenium$/) do
    popup = @browser.driver.switch_to.alert
    popup.accept
end