此页面要求您确认是否要离开

时间:2014-09-02 12:35:42

标签: firefox drupal ubuntu-12.04 behat mink

我在我的网站安装上运行behat测试。运行测试时出现以下错误。我转而使用firefox,因为我遇到了新的chromedriver 2.10的问题。我可以解决这个问题吗?

错误讯息:

Modal dialog present: This page is asking you to confirm that you want to leave - data you have entered may not be saved.

Build info: version: '2.39.0', revision: 'ff23eac', time: '2013-12-16 16:11:15'
System info: host: 'jesus-ProLiant-MicroServer', ip: '127.0.1.1', os.name: 'Linux', os.arch: 'amd64', os.version: '3.13.0-32-generic', java.version: '1.6.0_32'

Session ID: 2d072ef8-60e8-494b-b389-96e954041fb0
Driver info: org.openqa.selenium.firefox.FirefoxDriver

Capabilities [{platform=LINUX, acceptSslCerts=true, javascriptEnabled=true, browserName=firefox, rotatable=false, locationContextEnabled=true, version=31.0, cssSelectorsEnabled=true, databaseEnabled=true, handlesAlerts=true, nativeEvents=false, webStorageEnabled=true, applicationCacheEnabled=true, takesScreenshot=true}]

2 个答案:

答案 0 :(得分:6)

你(正式)对此不利。 Behat / Mink不支持对话处理并在找到异常时抛出异常,因为它无法解决它并阻止以下步骤。有一个long standing issue on github解释了原因,我同意亚历山大的最后评论:

  

现在,浏览器对话框被认为是糟糕的用户体验,并被替换为   漂亮的模态窗口(至少在我正在做的网站上),哪个   已经可以处理了。

非正式地,如果你直接调用Selenium驱动程序,this gist就是如何做到这一点的最好例子。如果您在没有Behat参考的情况下搜索“selenium模态窗口”,您可以找到更多相关信息。

$this->getSession()->getDriver()->getWebDriverSession()->accept_alert(); // Ok
$this->getSession()->getDriver()->getWebDriverSession()->dismiss_alert(); // Dismiss

答案 1 :(得分:1)

  

我转而使用firefox,因为我遇到了新的chromedriver 2.10的问题。我可以解决这个问题吗?

在使用Behat / Mink / Selenium和chromedriver 2.10时,我遇到了类似的问题,升级到chromedriver 2.17为我解决了这些问题。

[http://chromedriver.storage.googleapis.com/2.17/chromedriver_linux64.zip][1]