Как правильно обрабатывать собственный JavaScript-подтверждение() в Laravel Dusk, не вызывая исключения UnexpectedAlertOPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Как правильно обрабатывать собственный JavaScript-подтверждение() в Laravel Dusk, не вызывая исключения UnexpectedAlertO

Сообщение Anonymous »

Я пишу браузерный тест Laravel Dusk для кнопки «Удалить контакт», который отображает встроенное диалоговое окно подтверждения() JavaScript перед удалением записи.
Однако при каждом запуске теста я получаю эту ошибку:

UnexpectedAlertOpenException открывается неожиданное предупреждение: {Текст оповещения: Вы
вы уверены, что вы хотите удалить этот контакт?} (Информация о сеансе:
chrome=140.0.7339.210)

Тестовый код

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

public function test_contacts_page_delete_contact_button_delete_contact_when_pressed(): void
{
$contact = Contact::factory()-\>create();

$this->browseContactsPage(function (Browser $browser) use ($contact) {
$browser->waitFor('@delete-contact-button')
->click('@delete-contact-button')
->whenAvailableDialog(function ($dialog) {
$dialog->assertDialogOpened('Are you sure you want to delete this contact?')
->accept();
})
->waitUntilMissingText($contact->fullName(), 10)
->assertSee('No contacts yet. Add your first contact to get started.');
});

}
Я также пробовал эти варианты:

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

\-\>waitForDialog()-\>assertDialogOpened(...)-\>acceptDialog();
и

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

\-\>pause(500)-\>acceptDialog();
но то же самое UnexpectedAlertOpenException продолжает возникать.
Контекст
Использование
  • Laravel 11
  • Dusk 8.0
  • Chrome 140 (без головы)
Подтверждение представляет собой встроенный JS-подтверждение(), а не пользовательское модальное окно.
Нажатие кнопки в реальном браузере работает должным образом — контакт удаляется после подтверждения.
Обертывание диалоговых взаимодействий в WhenAvailableDialog()
Добавление небольших пауз до и после принятие
Гарантия открытия только одного оповещения
Использование .acceptDialog() напрямую
Все по-прежнему приводит к одной и той же ошибке «неожиданное открытие оповещения».>

Подробнее здесь: https://stackoverflow.com/questions/797 ... hout-trigg
Ответить

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

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

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

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

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