Тесты Dusk не запускают событие onbeforeunload в Laravel 11/Dusk 8Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Тесты Dusk не запускают событие onbeforeunload в Laravel 11/Dusk 8

Сообщение Anonymous »

Я столкнулся с проблемой, когда тесты Laravel Dusk не запускали событие onbeforeunload при выходе со страницы. Такое поведение отличается от того, что я наблюдаю при ручном взаимодействии со страницей в браузере.
Шаги для воспроизведения
Создать маршрут, который возвращает HTML-страницу с обработчиком событий onbeforeunload:

Код: Выделить всё

Route::get('/leave', function () {
return '




Page


Test page
[url=/]page[/url]


window.onbeforeunload = function(e) {
e = e || window.event;

if (e) {
e.returnValue = "Go?";
}

return "Go?";
};


';
});
Создайте тест Dusk, который посещает эту страницу:

Код: Выделить всё

phpCopypublic function testLeave(): void
{
$this->browse(function (Browser $browser) {
$browser->visit('/leave')
->pause(15000);
});
}
Запустите тест Dusk.
Ожидаемое поведение:
Когда тест уходит со страницы ( либо щелкнув ссылку, либо используя методы навигации Dusk), оно должно вызвать событие onbeforeunload и отобразить диалоговое окно подтверждения.
Фактическое поведение:
Событие onbeforeunload не запускается, и диалоговое окно подтверждения не отображается, когда тест уходит со страницы. Это происходит как при программном нажатии ссылки, так и при использовании встроенных методов навигации Dusk.
Дополнительная информация:
Эта проблема не присутствовала в Laravel 10 с Dusk 7, где тест успешно вызвал событие onbeforeunload.
Событие onbeforeunload работает должным образом при ручном взаимодействии со страницей в браузере.
Для ручной проверки я удалил --headless=new параметр в файле DuskTestCase.php, чтобы напрямую наблюдать за поведением браузера.
Не могли бы вы изучить эту проблему и предоставить рекомендации о том, как правильно тестировать события onbeforeunload в Laravel 11 с помощью Dusk?
Версия Dusk: 8.2.6
Версия Laravel: 11.25
Версия PHP: 8.3.3
Версия PHPUnit: 11.3.6

Подробнее здесь: https://stackoverflow.com/questions/790 ... -11-dusk-8
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»