【问题标题】:Unexpected Alert Open Error. "browser.switchTo().alert().accept();" works fine in firefox but not in Chrome when running through Jenkins意外的警报打开错误。 “browser.switchTo().alert().accept();”在 Jenkins 中运行时在 Firefox 中运行良好,但在 Chrome 中运行良好
【发布时间】:2023-04-03 15:00:02
【问题描述】:

如何使用量角器在 chrome 浏览器中处理此错误。

Chrome 驱动程序通过以下错误:UnexpectedAlertOpenError: unexpected alert open: {Alert text : 有未保存的数据,请在离开前保存,否则您的更改会丢失!} 我用过“browser.switchTo().alert().accept();”但这不起作用,在Firefox中工作正常。请帮助我,非常感谢您的帮助。

【问题讨论】:

  • 我的理解是这是 Chrome 52 中引入的一个错误。我正在努力解决这里描述的相同问题:bugs.chromium.org/p/chromium/issues/detail?id=632024
  • 添加一些细节,我使用 Chrome 来测试一个带有 Selenium 的 ASP.NET MVC 5 应用程序。在我的电脑将 Chrome 升级到 52 之前,测试都很好。我的一些测试涉及有目的地调用 IWebDriver.Navigate().Back() 来触发脏表单警报。以前这个调用会成功,然后我可以检查预期的警报并处理它,现在对IWebDriver.Navigate().Back() 的调用导致OpenQA.Selenium.Remote.RemoteWebDriver.UnpackAndThrowOnError 抛出InvalidOperationException。 Chromedriver 是 2.23.409699 版本,Selenium 是 2.53.1 版本,Chrome 是 52.0.2743.116。
  • 我有 chrome=49.0.2623.110,当我在本地运行时它工作正常,但是当我通过 Jenkins(无头浏览器)触发它时,它通过错误。
  • @Speedbird186 我们可以发送“Enter”键来接受警报吗?我没有任何 webElement。
  • 我没有尝试过,因为在我的情况下,我实际上需要知道警报是否存在

标签: javascript google-chrome selenium-webdriver protractor selenium-chromedriver


【解决方案1】:

今天,在过去一周左右为这个新问题苦苦挣扎后,我们发现问题已通过使用最新的 Protractor 版本得到解决。将 package.json 更改为 "protractor": "*" 完成了这项工作。

【讨论】:

    猜你喜欢
    • 2014-12-25
    • 1970-01-01
    • 1970-01-01
    • 2013-09-27
    • 1970-01-01
    • 2018-09-25
    • 2019-12-22
    • 2017-12-07
    • 1970-01-01
    相关资源
    最近更新 更多