- В общем модуле находится pom.xml с указанием версий библиотек, общих для всех модулей.
- Второй и третий модуль содержат общие зависимости из autotest-core.
- Первый модуль autotest-core содержит утилитные и конфигурационные классы.
- Второй модуль autotest-rest содержит раннер для запуска api тестов.
- Третий модуль autotest-web содержит раннер и классы страниц для запуска ui тестов.
В каждом тестовом модуле формируются allure отчеты по ui и api тестам, соответственно. Jenkins формирует общий отчет по тестам (конфигурация запуска пайплайна находится в корне проекта).
UI тесты реализованы через рефлексивный доступ к полям классов страниц по аннотации, что позволяет в сценариях тестов указывать названия элементов на понятном языке (название указывается в аннотации поля страницы). Шаги описаны на абстрактном уровне, что позволяет переиспользовать их для других сайтов, без создания новых, достаточно лишь описать локаторы.
API тесты реализованы в виде таблиц, с полной параметризацией, позволяя более детально отобразить данные запросов. Контекст хранения данных - локальная переменна потока. Тесты пишутся полностью в фьюча-файлах.