Тестирование диалогового окна подтверждения с помощью Protractor
Это, кажется, довольно простой вопрос, но я действительно не могу найти ответ в Интернете, и сам не смог найти ответ.
Я использую AngularJS для своего приложения, и в какой-то момент у меня есть собственное окно подтверждения/диалога JavaScript, которое спрашивает пользователя, хочет ли он принять или отменить изменение.
Как смоделировать выбранный параметр в моих тестах (с помощью Protractor)? Возможно ли получить доступ к окну подтверждения и "click" либо ОК, либо Отменить и действовать соответственно в моем тесте? Я предполагаю что-то вроде
ptor.switchTo().<something>
было бы возможно, но я не могу найти ответ.
Ответы
Ответ 1
Думаю, я могу ответить на свой вопрос, поскольку это может быть полезно кому-то другому.
Во-первых, вам нужно получить экземпляр Protractor:
var ptor = protractor.getInstance();
Диалоги подтверждения выполняются так же, как и предупреждения, поэтому что-то вроде этого сделал трюк:
var alertDialog = ptor.switchTo().alert();
alertDialog.accept(); // Use to accept (simulate clicking ok)
alertDialog.dismiss(); // Use to simulate cancel button
Так просто и элегантно, но сложно найти ответ.
Надеюсь, что это поможет кому-то еще.
Ответ 2
Скопировано из комментария выше, но мне пришлось использовать браузер browser.switchTo(). alert() вместо захвата моего экземпляра Protractor.
Закончено с помощью:
browser.switchTo().alert().accept();
чтобы ответить на диалоговое окно предупреждения.