Giter Site home page Giter Site logo

tezis-doc's Introduction

Автоматизация 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

tezis-doc's People

Contributors

wakeuptheo avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.