Как использовать явное ожидание в полях объекта подкачки в Selen Webdriver? - PullRequest
1 голос
/ 14 сентября 2011

Как использовать явное ожидание в полях объекта страницы? У меня есть класс pageobject, в котором я объявляю поля и использую тег FindBy для их создания. Как добавить явное ожидание для некоторых или всех полей, объявленных в

1 Ответ

0 голосов
/ 20 марта 2013

Мое решение состоит в том, чтобы не использовать @ FindBy.

В объекте вашей страницы:

   By someElementLocator = By.cssSelector(".locator");

   public void waitForElementPresent(final By locator, int timeout) {
    ExpectedCondition e = new ExpectedCondition<Boolean>() {
        public Boolean apply(WebDriver driver) {

            return driver.findElements(locator).size() > 0;
        }
    };

    WebDriverWait wait = new WebDriverWait(driver, timeout);
    wait.until(e);

}

  public WebElement getSomeElement() {
    waitForElementPresent(someElementLocator);
    return driver.findElement(locator);
  }

Возможно, это архитектурная проблема.Кажется, я не могу найти никаких ресурсов, подтверждающих, что поддержка @FindBy ждет, поэтому, возможно, ее использование зависит от дизайна / архитектуры теста.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...