Проект по автоматизации тестирования веб-приложения М.Видео
➠ Отчет о результатах тестирования в Allure Report
➠ Интеграция тестов c тест-менеджмент системой Allure TestOps
➠ Интеграция тестов c таск-трекер системой Jira
➠ Уведомления в Telegram с использованием бота
Разработаны автотесты на
UI
.
- Отображение искомых товаров на странице результатов поиска
- Отображение категорий в фильтре "Категория" на странице поиска товаров
- Отображение пунктов меню в навигационной панели у неавторизованного пользователя
- Отображение категорий в блоке обзора по категориям на основной странице категории товара
- Отсутствие ошибок в журнале консоли страницы
- Email-подписка на получение предложений
- Скачивание PDF-файла, проверка его свойств и содержимого
В данном проекте автотесты написаны на
Java
с использованием фреймворкаSelenide
для UI-тестов.
Selenoid
выполняет запуск браузеров в контейнерахDocker
.
Allure Report
формирует отчет о запуске тестов.Для автоматизированной сборки проекта используется
Gradle
.В качестве библиотеки для модульного тестирования используется
JUnit 5
.
Jenkins
выполняет запуск тестов.Автотесты интегрируются с тест-менеджмент системой
Allure TestOps
и таск-трекер системойJira
.После завершения прогона отправляются уведомления с помощью бота в
Telegram
,Slack
и наэлектронную почту
.
gradle clean ${TASK}
ℹ️ В файле
app.properties
должны быть расположены appURL и appForBusinessURL – адреса серверов, которые будут использоваться в тестах MvideoTest и MvideoForBusinessTest соответственно.
gradle clean ${TASK}
-DremoteURL=${REMOTE_URL}
-Dbrowser=${BROWSER}
-DversionBrowser=${BROWSER_VERSION}
-DbrowserSize=${BROWSER_SIZE}
-Dthreads=${THREADS}
ℹ️ Для запуска тестов должны существовать следующие файлы ⇩
👈
credentials.properties
В файле должны быть расположены:
login
иpassword
– данные для авторизации на удаленном сервере, на котором будут запускаться тесты👈
app.properties
В файле должны быть расположены:
appURL
– адрес сервера, который будет использоваться в тестах MvideoTestappForBusinessURL
– адрес сервера, который будет использоваться в тестах MvideoForBusinessTest
👈
TASK
– список тестов, сгруппированных по параметру тега. В зависимости от выбранного параметра, будут запускаться определенные группы тестов.Доступные варианты:
test
– запуск всех тестовhigh_priority_tests
– запуск высокоприоритетных тестов с тегами Critical, Highest, Blocker, Highweb_test
– запуск тестов с тегом Web
REMOTE_URL
– адрес удаленного сервера, на котором будут запускаться тесты.
BROWSER
– браузер, в котором будут выполняться тесты (по умолчанию -chrome
).
BROWSER_VERSION
– версия браузера, в которой будут выполняться тесты (по умолчанию -91.0
).
BROWSER_SIZE
– размер окна браузера, в котором будут выполняться тесты (по умолчанию -1920x1080
).
THREADS
– количество потоков для запуска тестов.
allure serve build/allure-results
❗ Для формирования отчета должен быть установлен
Allure
.
Запуск тестов в Jenkins
- Открыть сборку Jenkins
- Нажать на таск
"Собрать с параметрами"
- Указать значения параметров
- Нажать на кнопку
"Собрать"
Отчет о результатах тестирования в Allure Report
Allure-framework используется в качестве инструмента для построения отчетов о прогоне автотестов. Он позволяет получить информацию о ходе выполнения тестов, а также прикрепить скриншоты, логи и видео к формируемому отчету. Имеется возможность указать различные теги, приоритеты и прочую сопутствующую информацию для тестов.
👈 Страница
Overview
Сраница
Overview
является главной страницей Allure-отчета.Состоит из следующих блоков:
Блок
ALLURE REPORT
– включает в себя дату и время прохождения теста, общее количество прогнанных кейсов, а также диаграмму с указанием процента и количества успешных, упавших и сломавшихся в процессе выполнения тестов.Блок
TREND
– показывает тренд прохождения тестов от сборки к сборке.Блок
SUITES
– показывает распределение результатов тестов по тестовым наборам.Блок
ENVIRONMENT
– показывает тестовое окружение, на котором запускались тесты.Блок
CATEGORIES
– показывает распределение неуспешно прошедших тестов по видам дефектов.Блок
FEATURES BY STORIES
– показывает распределение тестов по функционалу, который они проверяют.Блок
EXECUTORS
– показывает исполнителя текущей сборки. Если выполнение производилось на инструменте CI (например, на Jenkins), то будет предоставлена информация о джобе и номере сборки.
👈 Страница
Graphs
На странице
Graphs
можно получить информацию о тестовом прогоне в графическом виде: статус прогона, распределение тестов по критичности, длительности прохождения, перезапускам, категориям дефектов и так далее.
👈 Страница
Behaviors
На странице
Behaviors
тесты сгруппированы по проверяемому функционалу (Epic, Feature, Story).
👈 Прочие страницы
Страница
Categories
– данная страница предоставляет информацио о распределении дефектов по их видам.Страница
Suites
– на данной странице представляется стандартное распределение выполнявшихся тестов по тестовым наборам или классам, в которых находятся тестовые методы.Страница
Timeline
– данная страница визуализирует временные рамки прохождения каждого теста.Страница
Packages
– на этой странице тесты сгруппированы по пакетам, в которых лежат тестовые классы.
Интеграция тестов c тест-менеджмент системой Allure TestOps
Allure TestOps
используется для хранения всех авто и ручных тестов, запусков и их результатов, а также статистики и отчетов.
Интеграция тестов c таск-трекер системой Jira
В проекте реализована интеграция с
Jira
, что позволяет добавлять в задачи тест-кейсы, запуски и их результаты.
После завершения сборки специальный бот, созданный в
Telegram
, автоматически обрабатывает и отправляет сообщение с отчетом о прогоне.
После завершения сборки автоматически отправляется сообщение с отчетом о прогоне в
Slack
.
После завершения сборки автоматически отправляется сообщение с отчетом о прогоне на
электронную почту
. Фреймворк также поддерживает уведомления в Skype и Mattermost.
К каждому тесту в отчете прилагается видео. Одно из таких видео представлено ниже.