Здравствуйте. Столкнулся со следующей проблемой. Есть список пользователей. При удалении пользователя выходит alert с подтверждением удаления. Некоторые пользователи участвуют во взаимодействиях и их нельзя удалить. Когда мы пытаемся удалить таких пользователей выходит alert подтверждения(как для всех пользователей), мы подтверждаем и выходит второй alert c сообщением Пользователь участвует во взаимодействии и его нельзя удалить. Как можно отловить его. То есть как можно поставить проверку если второй алерт есть, то сделай это?
В тестах не должно быть ифов.
Когда вы в тесте удаляет пользователя, вы должны знать, какой это пользователь: удаляемый или нет. Соответственно, в тестах должно быть два разных метода:
removeUser - жмякает один алерт
removeSuperuser - жмякает два алерта
@ asolntsevselenide founder
спасибо за объяснение
в чисто селениуме четыре можно подписаться на открылся закрылся javascript alert …
...
devTools = ((HasDevTools) driver).getDevTools();
...
devTools.createSession();
devTools.send(Page.enable());
...
devTools.addListener(Page.javascriptDialogOpening(),
(JavascriptDialogOpening event) -> System.err.println(String
.format("Dialog of type: %s opening with message: %s", event.getType(), event.getMessage())));
devTools.addListener(Page.javascriptDialogClosed(), (JavascriptDialogClosed event) -> {
assertThat(event.getUserInput(), notNullValue());
assertThat(event.getUserInput(), is(text));
System.err.println("Dialog user input: " + event.getUserInput());
});
....
devTools.clearListeners();
пример взят из теста который печатает там что то и проверяяет что диалог ожидаемый текст получил…