Ну можешь как угодно объявлять локаторы/элемнеты для тестов. ДЕлай как удобно
Можно как By buttonSubmit = By.cssSelector("#ololo")
Можно как SelenideElement buttonSubmit = $("#ololo")
Можешь с аннтоациями объявлять элемнеты
МОжешь вообще как стринга объявлять локаторы
МОжешь не объявлять локаторы для уникалаьных элементов над одним бизнес действием
Спасибо! Это я всё вроде бы понимаю =)
Просто мне показалось, что Селенид задуман вне концепции PageObject pattern. Тем более я читал, что автор Селенида не одобрительно к нему относится.
Смотрел примеры кода с использованием Селенида и видел как идентификация элементов происходила в самих тестах, вот и возник вопрос.
@Viktor_Borisov Вот плохо, когда “слышал звон, не знаю, где он”.
Автор Селенида не то чтобы неодобрительно относится к паттерну PageObject. Сам по себе паттерн кажется вполне разумным. Автор Селенида считает, что в большинстве случаев кажущаяся необходимость в PageObject свидетельствует о более глубинных проблемах в процессе тестирования. Другими словами, если в компании процесс разработки/тестирования правильный (в т.ч. пирамида тестирования правильная), то пользы от PageObject особой не будет.
P.S. А Селенид очень даже поддерживает PageObject, что прямо на главной странице и написано. Более того, у Селенида PageObject’ы получаются короче и проще, чем “классические” с @FindBy.