Я использую Laravel Dusk для написания тестов браузера для приложения Laravel 5.7.В тесте я перехожу на страницу и нажимаю кнопку, которая вызывает диалог подтверждения.Я пытаюсь проверить, что закрытие диалогового окна не меняет URL страницы.
Я пытался добавить $this-expectException(UnexpectedAlertOpenException::class)
перед запуском теста, чтобы попытаться заставить код понять, что диалог должен отображаться
{
$this->expectException(UnexpectedAlertOpenException::class);
$this->browse(function (Browser $browser) {
$browser->loginToWave()
->goToSystemsEdit();
$browser->waitFor('@delete-systems-button')
->click('@delete-systems-button')
->assertDialogOpened('This will delete the system. Please seek advice before doing this. Continue?')
->dismissDialog()
->assertPathBeginsWith('systems/edit');
});
}
Я ожидаю, что тест закрывает диалоговое окно и проверяет утверждение пути.
На самом деле происходит то, что выдается UnexpectedAlertOpenException
:
1) Tests\Browser\Systems\DeleteSystemTest::testSystemNotDeletedIfConfirmIsDismissed
Facebook\WebDriver\Exception\UnexpectedAlertOpenException: unexpected alert open: {Alert text : This will delete the system. Please seek advice before doing this. Continue?}
(Session info: chrome=71.0.3578.98)
(Driver info: chromedriver=2.45.615279 (12b89733300bd268cff3b78fc76cb8f3a7cc44e5),platform=Linux 4.9.125-linuxkit x86_64)
/var/www/html/vendor/facebook/webdriver/lib/Exception/WebDriverException.php:140
/var/www/html/vendor/facebook/webdriver/lib/Remote/HttpCommandExecutor.php:326
/var/www/html/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php:547
/var/www/html/vendor/facebook/webdriver/lib/Remote/RemoteWebDriver.php:345
/var/www/html/vendor/laravel/dusk/src/Browser.php:261
/var/www/html/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:139
/var/www/html/vendor/laravel/framework/src/Illuminate/Support/Collection.php:418
/var/www/html/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:140
/var/www/html/vendor/laravel/dusk/src/Concerns/ProvidesBrowser.php:69
/var/www/html/tests/DuskTestCase.php:68