Помогите пожалуйста разобраться в вопросе явных и неявных ожиданий.
После просмотра лекций, я понял (но пока как-то не до конца ) что лучше использовать явные ожидания, через WebDriverWait. В тоже время для этого нужно отключить неявные, имплицитные ожидания.
1 вопрос: правильно ли я понял, что их нужно отключать (ставить на 0)?
2 вопрос: как теперь (после отключения) работает поиск элементов на страницах, например в таком виде:
@FindBy(id = "logOutButton")
private WebElement logoutButton;
3 вопрос: в менеджере страниц, есть метод инициализации элементов, в котором снова есть какие-то ожидания (10 секунд):
private <T extends BasicPage> T initElements(T page) {
PageFactory.initElements(new AjaxElementLocatorFactory(webDriver, 10), page);
return page;
}
Что это за 10 секунд? Это тоже относится к ожиданиям?
4 вопрос: как вообще работает поиск и ожидания для страниц? Вот для примера к этой:
public class DashboardPage extends BasicPage {
@FindBy(id = "logOutButton")
private WebElement logoutButton;
public DashboardPage(ApplicationManager appManager) {
super(appManager);
}
public DashboardPage clickLogoutButton() {
logoutButton.click();
return this;
}
}
В этом случае поиск элемента будет осуществляться при выполнении метода clickLogoutButton? Или в какой момент? И с каким ожиданием?
Прошу прощения за множество вопросов, но я был бы рад, если вы мне поможете уяснить эту тему. Буду очень благодарен за помощь!