PageObject - добавить аннотацию описание элемента и распечатывать?
#1
Отправлено 10 мая 2020 - 05:57
Использую appium и хотел бы добавит в PageObject переменной елкмента аннотацию что то типа @Description для последующего логирования какой элемент сейчас вызвался.
В pagefactory когда создаётся класс я могу распечать все елементы но когда происходит вызов элемента то уже не могу найти как распечать.
Есть вариант создания своего класса элемента и туда уже можно добавит все что угодно но это сложно для меня.
Есть библиотека от Яндекса, там сделано под веб тестирование, HtmlElement кастомной класс веб элемента в котором есть и аннотация для описаний элемента. Но у меня мобильное тестирование и тут Апиум декоратор.
Кто бы мне помог чтоб было вот так красиво?)
@FindBy(id = "username")
@Description("Username field")
WebElement username;
#2
Отправлено 10 мая 2020 - 13:05
Насколько я понял, вам надо сделать класс для Description, наподобие https://github.com/S...nnotations.java (либо добавить в него Description и собрать свой селениум)
И ещё сделать интерфейс для самого Description, наподобие https://github.com/S...ort/FindBy.java
#3
Отправлено 10 мая 2020 - 18:28
Насколько я понял, вам надо сделать класс для Description, наподобие ...
Я посмотрю спасибо.
Вообще первое что приходит на ум это создать свой кастомный WebElement у которого будет поле description, и при создании PageFactory-ром проси для элемента ему в конструктор будет так же передаваться значение моей анотации @Description таким обзаром у моего элемента будет метод getDescription() который и будет возвращать поле description .
Проблема что нужно перелопатить много классов чтоб все заработало.
Вот тут есть готовое решение от Яндекса для Веба, а мне бы для Appium.
https://github.com/y...ls/htmlelements
#4
Отправлено 11 мая 2020 - 16:57
Таки вышло найти решение.
Чутка изменил метод proxyFields в классе PageFactory чтоб сохраняло мне ссылку элемента и его field.
дальше создаю метод передаю ему эелемент ищу его в сохраненных и по нему вычисляю Field в котором есть моя аннотация и другая полезная инфа.
Прикрепленные файлы
Количество пользователей, читающих эту тему: 0
0 пользователей, 0 гостей, 0 анонимных