Подтвердить что ты не робот

Тестирование диалогового окна подтверждения с помощью Protractor

Это, кажется, довольно простой вопрос, но я действительно не могу найти ответ в Интернете, и сам не смог найти ответ.

Я использую AngularJS для своего приложения, и в какой-то момент у меня есть собственное окно подтверждения/диалога JavaScript, которое спрашивает пользователя, хочет ли он принять или отменить изменение.

Как смоделировать выбранный параметр в моих тестах (с помощью Protractor)? Возможно ли получить доступ к окну подтверждения и "click" либо ОК, либо Отменить и действовать соответственно в моем тесте? Я предполагаю что-то вроде

ptor.switchTo().<something>

было бы возможно, но я не могу найти ответ.

4b9b3361

Ответ 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();

чтобы ответить на диалоговое окно предупреждения.