Как использование ожидает в рамках Html Elements
Я пытался использовать Html Elements Framework. Вот один из моих блоков:
@Block(@FindBy(id = "test"))
public class FirstBlock extends HtmlElement {
@FindBy(id = "nameS")
private TextInput id;
@FindBy(id = "saveBt")
private Button add;
public void addNewClient(String idText) {
add.click();
id.sendKeys(idText);
}
}
Я инициализировал фабрику страниц как:
PageFactory.initElements(new HtmlElementDecorator(driver), this);
Теперь я хочу ждать после add.click();
до следующего элемента присутствует. Как я выяснил, где есть возможность использовать AjaxElementLocatorFactory
Но как я могу сделать это с помощью Html Elements Framework?
1 ответ
Решение
HtmlElements по умолчанию использует AjaxElementLocatorFactory, поэтому вам не нужно никаких явных ожиданий в вашем коде. Он попытается найти ваш id
элемент, пока не выполнится, а затем выполняется sendKeys()
в теме. Если тайм-аут ожидания элемента будет достигнут, он выдаст ElementNotFound
исключение.