В общем меня второй день мучает вопрос, почему бы не использовать свои методы везде …
Один раз написать метод, в нем все указать и обращаешься постоянно к нему…
На самом деле вопрос не только про @FindBy, а в принципе …
Почему бы не создать метод к примеру FindByIdAndClick(id) ; просто писать id и все …
И вопрос номер два: почему бы ожидание появления элемента wait не засунуть в каждый такой метод, чтоб он на постоянке работал и не думать вообще об этом?
Создание wrapper’ов полезная штука, но имеет и недостаток - нужно хорошо знать весь проект, чтобы использовать нужный. Поэтому избыточное оборачивание усложняет проект для понимания, особенно для новых участков команды.
Лучше используй готовую популярную библиотеку или просто переопредели WebElement, но уже с ожиданиями, и + вспомогательные методы, короче чтобы максимально было похоже на методы драйвера, тогда всем будет легко работать с проектом
Конечно это нормально, пиши свои методы если не хочешь использовать готовое решение и есть время, не вижу ничего плохого в этом, правда потом захочешь все переписать несколько раз и это тоже нормально)
Также хранение локаторов в атирибутах @FindBy у здесь в группе разработчики Selenide не сильно рекомендуют, я тоже не использую, потому что не получится сделать локатор с параметрами, а это нужно если хотите найти текст с помощью например только XPath или пробросить индекс