php - 意外警报打开 : {Alert text : } laravel dusk

标签 php laravel-5 selenium-chromedriver laravel-dusk

我正在创建一些黄昏测试,有时我会得到 unexpected alert open: {Alert text : }在某些测试中出错。在我的本地测试中,有时会通过,有时会抛出此错误。我不确定是什么导致了这个问题,因为我的页面中没有警报,如 Alert text is also empty .在 UI 模式下运行测试时,我在页面中看不到任何警报。

以下是我本地错误的完整信息

1) Tests\Browser\contacts\CreateContactTest::testCreate
Facebook\WebDriver\Exception\UnexpectedAlertOpenException: unexpected 
alert open: {Alert text : }
(Session info: chrome=63.0.3239.132)
(Driver info: chromedriver=2.33.506106 
(8a06c39c4582fbfbab6966dbb1c38a9173bfb1a2),platform=Mac OS X 10.13.2 x86_64)

而且,我的 CircleCI 中也抛出了同样的错误测试也是如此,以下是关于CircleCI2的信息
1) Tests\Browser\auth\RegisterTest::testRegister
Facebook\WebDriver\Exception\UnexpectedAlertOpenException: unexpected 
alert open: {Alert text : }
(Session info: headless chrome=63.0.3239.132)
(Driver info: chromedriver=2.35.528139 
(47ead77cb35ad2a9a83248b292151462a66cd881),platform=Linux 4.4.0-111-generic x86_64)

可能导致此类问题的原因是什么,请记住我没有在代码中打开任何警报,并且有时测试也会成功。 Can this be any chrome driver issue ?

最佳答案

这发生在我身上是因为我有一个 onbeforeunload在页面上注册的处理程序,提醒用户他们有未保存的工作。
测试完成后,浏览器将“关闭”页面,从而弹出此警报/对话框。

我通过显式触发此事件并在测试用例结束时接受对话框来修复它:

$browser->visit('about:blank')->waitForDialog()->acceptDialog();

关于php - 意外警报打开 : {Alert text : } laravel dusk,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48416268/

相关文章:

php - 将 HTML 表单输入转换为 php 可以理解的日期

java - 如何使用 Selenium 计算并选择 Web 表中的某些行?

php - PHP 中的 YouTube channel 视频列表与 YouTube v3 API 无法正常工作

php - 使用 freetype 编译 PHP 报错

javascript - 如何从另一个页面更改按钮的状态?

Laravel 5.3 更改 Auth 中的用户表

laravel-5 - 路由模型绑定(bind)中的laravel 5重定向不起作用

php - 为什么 laravel 5.7 基本路由重定向到 404?

TeamCity 9.1.7 中的 Selenium ChromeDriver - 找不到 Chrome 二进制文件

python - 通过 Selenium - Python 在新选项卡中打开 url 的最快方法是什么?