Однако при каждом запуске теста я получаю эту ошибку:
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();
Контекст
Использование
- Laravel 11
- Dusk 8.0
- Chrome 140 (без головы)
Нажатие кнопки в реальном браузере работает должным образом — контакт удаляется после подтверждения.
Обертывание диалоговых взаимодействий в WhenAvailableDialog()
Добавление небольших пауз до и после принятие
Гарантия открытия только одного оповещения
Использование .acceptDialog() напрямую
Все по-прежнему приводит к одной и той же ошибке «неожиданное открытие оповещения».>
Подробнее здесь: https://stackoverflow.com/questions/797 ... hout-trigg
Мобильная версия