Я работаю над базовым продуктом Angular. У меня есть форма, когда пользователь меняет раскрывающееся значение, страница обновляется. по этой причине во время выполнения тестов в CI происходили случайные сбои (за исключением, например, staleElement/noSuchElementException
). Для этого я написал функцию ожидания, пока страница не будет готова для драйвера, как показано ниже. но это не сработало.
Каков наилучший способ справиться с подобным поведением с помощью селенового веб-драйвера ?. 1. как убедиться, что страница была обновлена в проекте angularJS? 2. Как убедиться, что страница готова для драйвера в проекте angularJS?
/**
* Wait for load page completely
* @param driver - webdriver instance
*/
public void checkPageIsReady(WebDriver driver) {
JavascriptExecutor js = (JavascriptExecutor) driver;
for (int i = 0; i < 25; i++) {
try {
Thread.sleep(500);
} catch (InterruptedException e) {
}
// To check page ready state.
if (js.executeScript("return document.readyState").toString().equals("complete")) {
break;
}
}