Автоматизация 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 задается в настройках среды сборки
[NEGATIVE] Отправка заявки на обратный звонок с незаполненными полями формы
Переход из главной страницы в раздел Клиенты
Появление pop-up пункта Система при наведении курсора