Oto ten, który wymyśliłem, ale w języku Java. Trochę wyciągnięty, ale przechodzi przez to, jak powinien czekać. To zajmie czas oczekiwania w sekundach, a następnie sprawdź co sekundę, aby zobaczyć, czy element jest jeszcze obecny. Po zlokalizowaniu elementu upewnia się, że jest widoczny, aby można było z nim współdziałać. "driver" to oczywiście obiekt WebDriver.
public void waitForVisible(final By by, int waitTime) {
wait = new WebDriverWait(driver, timeoutInSeconds);
for (int attempt = 0; attempt < waitTime; attempt++) {
try {
driver.findElement(by);
break;
} catch (Exception e) {
driver.manage().timeouts().implicitlyWait(1, TimeUnit.SECONDS);
}
}
wait.until(ExpectedConditions.visibilityOfElementLocated(by));
}
Szuka dokładnie to samo albo w Ruby lub js. – jdrm
Też szukam tego samego. Dla Androida coś takiego jak "browser.driver.manage.timeouts.page_load = 30" wydaje się działać. W systemie iOS pojawia się błąd informujący, że Appium nie zaimplementował tego ... –