Как дождаться появления alert'a на странице с помощью selenium webdriver на javascript?
Есть страница. При переходе на неё alert может появиться, а может и нет. Хочу сделать реализацию, чтобы при переходе на страницу драйвер 5 секунд ждал alert, и если тот не появился, то продолжать тест дальше. Нашел несколько реализаций для различных языков, но вот на js они не сработали.
Я на данный момент примерно также сделал, только без try catch. Как вариант можно и так, но я пытаюсь не использовать в тестах sleep. Без него они получаются более производительные.
Валерий Глуховцев, Пока ничем не заменил, но хотел бы заменить на wait, потому что alert может всплыть и раньше пяти секунд. Сейчас у меня такая логика реализована на промисах:
var webdriver = require('selenium-webdriver');
var browser = new webdriver.Builder().usingServer().withCapabilities({'browserName': 'chrome' }).build();
browser.sleep(5000);
var alert = browser.switchTo().alert();
alert
.then(()=>{
// если alert есть - что-то делать
console.log("default alert");
})
.catch((error)=>{
console.log("No default alert")
// если alert'a нет - продолжать тест
})