фрагмент кода ниже работает отлично, но у меня немного проблемы с wait.until()
линии:Как использовать селен 2 PageFactory init Элементы с Wait.until()?
wait.until(new ElementPresent(By.xpath("//a[@title='Go to Google Home']")));
Это работает, но я хочу, чтобы отправить мой PageFactory
WebElement
homePageLink
вместо:
wait.until(new ElementPresent(homePageLink));
ли есть ли способ сделать это?
Эти новые функции Felled Selenium 2 имеют немного отличную головку, и я не могу найти много документации.
Спасибо.
public class GoogleResultsPage extends TestBase {
@FindBy(xpath = "//a[@title='Go to Google Home']")
@CacheLookup
private WebElement homePageLink;
public GoogleResultsPage() {
wait.until(new ElementPresent(By.xpath("//a[@title='Go to Google Home']")));
assertThat(driver.getTitle(), containsString("Google Search"));
}
}
public class ElementPresent implements ExpectedCondition<WebElement> {
private final By locator;
public ElementPresent(By locator) {
this.locator = locator;
}
public WebElement apply(WebDriver driver) {
return driver.findElement(locator);
}
}
Я использую SlowLoadableComponent вместо этого. Это позволяет мне задерживать между isLoaded() и load(), чтобы страница продолжала повторять попытку до загрузки страницы. – djangofan