当警报出现时,带有Chromedriver的Selenium停止

时间:2016-12-13 11:11:44

标签: selenium selenium-chromedriver

我还在使用Chromedriver与Selenium进行自动化网站测试。

现在我们有一些帐户要登录进行测试,登录后这些帐户会立即收到浏览器提醒。此时Chromedriver抛出一个UnexpectedAlertException并退出。因此,由于我们在页面上收到各种警报,因此现在无法进行进一步的测试。

奇怪的是,对于我们正在测试的其他一些页面,这种情况不会发生,而测试只会继续,尽管我们也会收到相同的警报。

是什么让人发出警告'意外'对于Chromedriver,有没有办法阻止它崩溃我们的测试?

2 个答案:

答案 0 :(得分:0)

您应该设置能力UnexpectedAlertBehaviour.IGNORE

答案 1 :(得分:0)

看起来Selenium 2驱动程序的Mink实现不支持警报和确认提示:https://github.com/minkphp/Mink/issues/158#issuecomment-230479602

以上链接可能为您提供Mink的解决方法。

对于PHPUnit selenium,如果您可以使用它,或者对于遇到此问题的其他人,您可以使用已实施的dismissAlert()acceptAlert()alertText()函数:< / p>

// Log in, etc
$this->assertEquals('Your alert text', $this->alertText());
$this->acceptAlert(); // or $this->dismissAlert();