Skip to content

Web UI test automation project built on tech stack: Java ٭ Selenide ٭ JUnit5 ٭ Gradle ٭ Jenkins ٭ Allure Framework

Notifications You must be signed in to change notification settings

wakeuptheo/tezis-doc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

62 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Автоматизация UI тестов на примере сайта системы электронного документооборота

В данном проекте представлен пример UI автотестов для web-версии сайта https://www.tezis-doc.ru.
Тестируемая функциональность - элементы модуля Header главной страницы:

  • Title главной страницы;
  • Логотип;
  • Пункты основных разделов сайта;
  • Кнопка и поле поиска;
  • Контактный телефон;
  • Форма обратного звонка.

Использованный технологический стек

Java Selenide JUnit - написание исходного кода;
Gradle - сборка проекта;
Jenkins - конфигурация и запуск сборок;
Selenoid Docker - запуск автотестов в изолированных сессиях на билд-сервере;
Allure Report - формирование отчетности по итогам тестирования;
Allure TestOps - создание тестовой документации;
Jira - создание задачи в таск-трекере.


Конфигурация для запуска тестов

Для запуска автотестов сконфигурирована ➡️ job ⬅️ в CI Jenkins. В Jenkins job добавлена интеграция с Allure Report и Allure TestOps, а также настроена расслылка оповещений о результатах выполнения тестов в мессенджеры Slack и Telegram.
Параметры для запуска автотестов в удаленном браузере на билд-сервере проекта autotests.cloud задаются в виде Choice Parameter в настройках job и передаются в код проекта через терминал как системные переменные с помощью следующих команд:

clean
test
-Dbrowser=${BROWSER} // запускаемый браузер
-DbrowserVersion=${BROWSER_VERSION} // версия браузера
-DbrowserSize=${BROWSER_SIZE} // размер окна браузера
-DremoteDriverUrl=https://<login>:<password>@${REMOTE_DRIVER_URL}/wd/hub/ // URL сервера, на котором запускаются тесты
-DvideoStorage=https://${REMOTE_DRIVER_URL}/video/ // URL сервера с видеофайлами выполнения тестов
-Dthreads=${THREADS} // число потоков для прогона тестов

Другой вариант передачи параметров - из файла remote.properties, расположенного по пути src/test/resources/config/remote.properties. Для этого вместо установки Choice Parameter в настройках Jenkins создается шаг сборки Create/Update Text File с созданием текстового файла, содержащего конфигурационные данные:



При этом в терминал передается только команда clean test.

Запуск автотестов производился со следующими параметрами:


Интеграция с Allure Report и Allure TestOps

Результаты выполнения сборки для Allure Report формируются в директории build/allure-results



Интеграция с Allure TestOps задается в настройках среды сборки


Результаты выполнения тестов

Отчет в Allure Report



Видео работы тестов

[NEGATIVE] Отправка заявки на обратный звонок с незаполненными полями формы


Переход из главной страницы в раздел Клиенты


Появление pop-up пункта Система при наведении курсора


Выполнение поиска


Оповещения о статусе сборки в мессенджерах




Тестовая документация, сгенерированная в Allure TestOps по итогам прохождения тестов



Задача в таск-трекере Jira с данными, экспортированными из Allure TestOps

About

Web UI test automation project built on tech stack: Java ٭ Selenide ٭ JUnit5 ٭ Gradle ٭ Jenkins ٭ Allure Framework

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages