Похоже, вы используете объект Selenium JS из теста на основе Selenium 2 / WebDriver. Вместо использования WebDriverBackedSelenium вы должны использовать классы ExpectedCondition и Wait, предоставляемые WebDriver. В вашем случае, предполагая, что fullname
- это идентификатор элемента, которого вы ждете, ваш код должен выглядеть следующим образом:
WebElement element;
ExpectedCondition<Boolean> e = new ExpectedCondition<Boolean>() {
public Boolean apply(WebDriver d) {
element = d.findElement(By.id("fullname"));
return Boolean.TRUE;
}
};
Wait<WebDriver> w = new WebDriverWait(driver, timeOutInSeconds);
w.until(e);
Это действительно большой кусок кода, поэтому вы должны рассмотреть возможность использования шаблона Page Objects , который является одним из лучших методов написания тестов Selenium. Пример страницы с вашим полем будет выглядеть примерно так:
public class MyPage {
@FindBy(id="fullname")
private WebElement fullName;
public MyPage(WebDriver driver) {
PageFactory.initElements(new AjaxElementLocatorFactory(driver, 15), this);
}
public void setFullName(String value) {
fullName.clear();
fullName.sendKeys(value);
}
}