Добрый день.
Подскажите, пожалуйста. Может, сможете подсказать (ссылкой может поделиться или своим примером поделиться). Selenium WD, язык Java. Работаем со страницами сайта, использую Page Object и FactoryMethod. Этого добра, чтобы научиться в интернете и текстом, и видео много. Но можно пойти дальше и разработать абстрактный класс BasePage и BaseElement, от которого и будут наследоваться все страницы или элементы. Очень хочу освоить, но сама въехать не могу, а примеров найти не могу. Просто крик души.
Юлия
16 уровень
Вопрос к автоматизаторам.
Комментарии (3)
- популярные
- новые
- старые
Для того, чтобы оставить комментарий Вы должны авторизоваться
Сергей Я Java Developer в DXC/Luxoft Expert
19 апреля 2021, 13:16
Как уже отписался в лс, вам нужно конкретизировать вопрос, то есть в вашем посте НЕТ четко поставленного вопроса.
Далее, по поводу базовых классов. Для страниц действуют те же правила как и для всего остального. Надеюсь вы выносите настройку драйвера в базовый класс, а не создаете новый в каждом тест-методе? Тоже самое со всем остальным. Я обычно пишу BaseTest -> TestClasses, BaseStep -> TestStep, BasePage -> Page. Тонкости как писать, абстракции через интерфейсы, через абстрактные классы....уже отдельный холивар. Ну и соответственно только утилитарные классы остаются уникальными.
Ну и самое главное продублирую - архитектура подбирается под проект. Под классическое бизнес-приложение или под SPA архитектура и подход будет отличаться.
Если хотите познакомиться с абстракцией через интерфейсы в формате Site -> Page -> PageObject -> Element, то советую почитать про Фреймворк Atlas.
И да, полезный канал по автоматизации - https://t.me/qa_automation
+1
Павел
19 апреля 2021, 12:20
присоединюсь к wan-derer.ru, а также добавлю, что могут еще помочь дженерики при написании абстрактных классов...
Пару линков бегло...:
Абстрактные классы в Java на конкретных примерах
Дженерики на котиках
Примеры...:
Java Generics Example Tutorial – Generic Method, Class, Interface
Abstract class in Java
0
wan-derer.ru
19 апреля 2021, 06:46
В абстрактный класс можно (нужно) вынести то что характерно для всех страниц (элементов). Допустим, ты уже написала 100500 этих Page Object. И тебя уже задолбало 100500 раз писать одно и то же. Так бери это "одно и то же" и выноси его в абстрактный класс.
+2