TestSpringMySQL
Описание
Тестовый проект, частично выкачанный из рабочего, который я создавал сам. Использую для хранения и аккумулирования знаний в автотестировании на Java. Используются библиотеки и технологии: Maven, Spring, RestAssured, Selenude, Junit, Allure, Lombok, Faker и другие.
Языки
- CSS87,5%
- Java7,8%
- JavaScript2,6%
- Shell1,2%
- Batchfile0,6%
- HTML0,3%
README проекта
Описание
Этот проект представляет собой Java-приложение, использующее:
- Spring Boot для тестирования баз данных;
- RestAssured для отправки Api;
- Selenide для тестирвоания Web портала - ИДУ.
- Включает в себя различные модули и плагины для генерации отчетов и анализа данных. В проекте также используется Allure для создания отчетов о тестировании.
Структура проекта
- /src/main/java - основные компоненты и шаги
- org.example - базовый пакет
-
base - общие компоненты используемые по всему проекту
- allure - классы с методами для Allure
- api - компоненты используемые для Rest API запросов
- data - компоненты содержащие данные, для использования в любом месте проекта
- support - дополнительные, ВАЖНЫЕ компоненты, для обработки данных, конвертирования, валидации, проверки.
- web - конфиги для web тестов.
- Dependency - класс наследник в котором содержатся созданные объекты классов сервисов, репозиториев и другие необходимые для тестов сущности.
-
db - компоненты для взаимодействия с базами данных
- пакет с базой данных - в каждом пакете компоненты для взаимодействия с определенной базой данных.
- config - содержит подключение к конкретной базе данных через Spring
- entity - содержит сущности таблиц конкретной базы данных
- repository - содержит Spring репозитории для выполнения запросов к базе данных
- service - содержит Spring сервисы с реализованными методами взаимодействия с базой данных
- пакет с базой данных - в каждом пакете компоненты для взаимодействия с определенной базой данных.
-
pages - классы-страницы в которыx указаны web элементы страницы для взаимодействия с UI портала
-
pojo - Pojo классы для генерации тела запросов. ru.first_am.web - содержит пакеты для взаимодействия с UI портала ИДУ ru.first_am.actions - классы в которые вынесены методы взаимодействия с UI портала
/src/main/resource - здесь храним ресурсы, такие как: json - папка содержащая файлы *.json (с заявками) приходящие из ППРБ, для эмуляции запросов. sql - папка содержащая SQL запросы, если требуется (пока не используется). webdriver - папка содержащая webdriver файлы для открытия браузера (сейчас используется браузер Yandex и chromedriver). xml - папка содержащая XML файлы (пока не используется). application.* - конфигурации для Spring, компонентов Spring Boot и компонентов проекта. Подключения. /src/test/java/ - основные тестовые классы
-
- org.example - базовый пакет
- ru.first_am - пакет с тестами, все тесты должны быть в нем
- пакеты с тестовыми классами - тесты разбиты на пакеты по сервисам.
- тестовые классы - каждый класс отвечает за набор тестов определенной доработки Jira. /src/test/resources - место для тестовых ресурсов. allure.properties - настрйоки Allure report
- пакеты с тестовыми классами - тесты разбиты на пакеты по сервисам.
Установка и запуск
- Убедитесь, что у вас установлен JDK (Java Development Kit) версии 11 или выше.
- Установите Maven, если он еще не установлен.
- Настройте переменные среды как указано: https://conf.sberbank-am.ru/pages/viewpage.action?pageId=104707751
- Перейдите в каталог, где будет находится локальный проект, клонируйте репозиторий проекта: git clone <URL вашего репозитория> Если будет получена ошибка на сертификат, то нужно выполнить команду создающую конфиг гита: git config --global user.name "указать своего пользователя Windows"
- Перейдите в директорию проекта:
- bash cd <имя_директории_проекта>
- Соберите проект с помощью Maven: bash mvn clean install
- Запустите приложение: bash mvn spring-boot:run
Тестирование
Для запуска тестов используйте команду: bash mvn test -Dgroups="UnitTest" Вы можете заменить UnitTest на нужный вам тег.
Аннотации в проекте
- @Configuration, @Bean, @Service, @Repository - Spring аннотации используемые для настроек работы с БД.
- @Entity, @Table - Jakarta Persistant - разметка класса как сущности таблица, для десериализации
- @SpringBootTest, @Transactional - Spring аннотации для тестов
- @Test, @Tag - Junit аннотации тестов
- @Epic, @Feature, @Story, @Description, @Severity - Allure аннотации класса, для отчета
- @Owner, @TmsLink, @Issue - Allure аннотации для пометки тестов (отображение в отчете)
Allure отчет
В проекте используются плагин Allure. После выполнения тестов, запуск Allure отчета выполняется командой: .allure\allure-2.27.0\bin\allure.bat serve target/allure-results После выполнения команды в браузере будет открыт отчет с результатами тестов.
Git контроль версий
В проекте подключен Git. Сам проект лежит в BitBucket. Команды для работы - коммин изменний:
- git add --all (находит все изменения для коммита)
- git commit -m "комментарий" (коммитит найденные изменения)
- git push -u origin IFT (пушит в указанную ветку) Команды для работы - перенос изменений в другую ветку (из IFT в Master):
Возможные проблемы
- Если запуск тестов в терминале не понимает кирилицу, можно выполнить команду: chcp 65001
Заключение
Этот проект предоставляет основу для разработки и тестирования приложений на Java с использованием Spring Boot и Allure для отчетности по тестированию. Если у вас есть вопросы или предложения, пожалуйста, свяжитесь с автором проекта. Обратите внимание, что структура проекта может изменяться в зависимости от ваших требований и настроек.