Готовый шаблон для тестирования с использованием Spring

от автора

Хотел представить Вам — готовый шаблон для тестирования с использованием Spring.

Введение

Цель этой статьи показать, что писать автотесты со Spring проще нежели на чистой Java.
Так же хочу продемонстрировать, насколько Java + Spring упрощает жизнь тестировщикам.

Для кого эта статья

Если у вас стоит необходимость поддержки нескольких профайлов (пр. WEB и MOBILE, COM и RU) — то Spring, как раз для вас.

Данный шаблон будет интересен тем кто хочет подять свою реализацию, но не знает с чего начать.

Что вы получете посте прочтения

После прочтения у вас будет представление о том, как реализовать свой шаблон на Java + Spring.

Что необходимо установить.

  • Java 11.
  • maven-3.6.1 и старше.

Приимущества Spring

Spring достаточно популярен, если у вас в автоматизации появится Spring — разработчики конечно скажут вам спасибо.

Я думаю, что Spring в тестировании встречается достаточно редко, т.к. задачи по автоматизации никто не отменял, а времени на развитие, как правило не так много или его совсем нет.

в Spring есть много различных проектов, один из них это Spring Boot — который позволяет конфигурировать Spring автоматически и многие вещи происходят под капотом, написав 3-и строчки мы получаем готовый проект.

Что входит в проект

Cucumber – это пожалуй один из самых популярных фреймворк для автоматизированного тестирования реализующий behavior-driven development подход.

selenide — это вспомогательный фреймворк для написания изящных UI тестов на основе selenium.

WebDriverManager — который берет на себя всю грязную работу по
добавлению переменных для проекта System.setProperty("webdriver.browser.driver", "/path_to_driver/driver");

Spring jdbc — упрощает получение доступа к реляционным BD и облегчает работу с SQL.

Скачиваем https://github.com/andewBr/seleniumWithSpring

для запуска проекта необходимо указать в строке VM POTIONS:

    -Dspring.profiles.active=dev-andrew

структура пакетов и классов

package (config) — конфигурация проекта.

class WebdriverBeanConfig — самый главный класс, происходит инициализация WebDriver.

class DBBeanConfig — класс в котором мы создаем bean для работы с BD, сообщаем Spring где брать dataSource

class PropertiesConfig — класс для работы с данными в древовидном виде

можно искать элемент и так //    @Value("${habr.url}") //    private String url; но так мне нравиться больше)) @Autowired private PropertiesConfig property;  property.getWeb().getBaseurl();

package (page) — пакет для хранения локаторов,web элементы — (как написано в head first java «программируйте на уровне интерфейса.») чем мы и займемся в дальнейшем)

interface Page — метод Map<String, SelenideElement> getElements();

все остальные классы находящиеся в данном пакете, возвращают MAP<ключ, сам элемент>

package (service)

CommanService — класс для работы с SelenideElement в котором мы реализуем работу со страницей

класс BasePageService наследуем от класса CommonService и обрабатываем элементы.

package step — работа с feature файлами

resources.features -> сами features файлы

ссылка на оригинал статьи https://habr.com/ru/post/484966/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *