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

Pot*_*ers 4 firefox drupal behat mink ubuntu-12.04

我在我的网站安装上运行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}]
Run Code Online (Sandbox Code Playgroud)

Ian*_*hek 6

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

如今,浏览器对话框被认为是糟糕的用户体验,并被漂亮的模态窗口取代(至少在我正在做的网站上),已经可以处理了.

非正式地,如果你直接调用Selenium Driver,这个要点就是如何做到这一点的最佳例子.如果您在没有Behat参考的情况下搜索"selenium模态窗口",您可以找到更多相关信息.

$this->getSession()->getDriver()->getWebDriverSession()->accept_alert(); // Ok
$this->getSession()->getDriver()->getWebDriverSession()->dismiss_alert(); // Dismiss
Run Code Online (Sandbox Code Playgroud)