Ждите элементов - Page Factory
Я использую Cucumber-JVM-Selenium для автоматизации устаревшего приложения. Я также использую Page Factory для поддержки своих элементов страницы. Реакция приложения медленная, и мне приходится ждать, пока почти все элементы будут доступны на странице. Selenium ожидает как неявное, свободное ожидание и таймаут загрузки страницы не работают. Я сталкиваюсь со следующими проблемами: 1. Я использую JavascriptExecutor в сочетании с явным ожиданием загрузки страниц, которое работает хорошо, но имеет определенные накладные расходы. Может кто-нибудь, пожалуйста, предложите лучший способ сделать это.
public void waitForPageLoad(WebDriver driver) {
ExpectedCondition<Boolean> expectation = new
ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver driver) {
return ((JavascriptExecutor) driver).executeScript("return document.readyState").toString().equals("complete");
}
};
try {
Thread.sleep(3000);
WebDriverWait wait = new WebDriverWait(driver, 60);
wait.until(expectation);
} catch (Throwable error) {
Assert.fail("Timeout waiting for Page Load Request to complete.");
}
}
- На странице несколько кадров, и мне нужно дождаться загрузки всех элементов кадра. Есть ли способ, которым я могу ждать, пока все элементы в кадре будут загружены.
- При использовании фабрики страниц существует ли общий способ ожидания отображения каждого вызываемого элемента на странице? Заранее спасибо. Ура, санкет