Skip to content

UI automated tests for the M.Video web application using the Selenide and Allure frameworks, Selenoid for running browsers in Docker containers, Jenkins for running tests, integration with Allure TestOps, Jira, Telegram, Slack, and email

Notifications You must be signed in to change notification settings

jjfhj/mvideo_project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект по автоматизации тестирования веб-приложения М.Видео

Содержание

Покрытый функционал

Технологический стек

Запуск тестов из терминала

Запуск тестов в Jenkins

Отчет о результатах тестирования в Allure Report

Интеграция тестов c тест-менеджмент системой Allure TestOps

Интеграция тестов c таск-трекер системой Jira

Уведомления в Telegram с использованием бота

Уведомления в Slack

Уведомления на электронную почту

Пример запуска теста в Selenoid

Покрытый функционал

Разработаны автотесты на UI.

UI

  • Отображение искомых товаров на странице результатов поиска
  • Отображение категорий в фильтре "Категория" на странице поиска товаров
  • Отображение пунктов меню в навигационной панели у неавторизованного пользователя
  • Отображение категорий в блоке обзора по категориям на основной странице категории товара
  • Отсутствие ошибок в журнале консоли страницы
  • Email-подписка на получение предложений
  • Скачивание PDF-файла, проверка его свойств и содержимого

Вернуться к содержанию 🔝

Технологический стек

В данном проекте автотесты написаны на Java с использованием фреймворка Selenide для UI-тестов.

Selenoid выполняет запуск браузеров в контейнерах Docker.

Allure Report формирует отчет о запуске тестов.

Для автоматизированной сборки проекта используется Gradle.

В качестве библиотеки для модульного тестирования используется JUnit 5.

Jenkins выполняет запуск тестов.

Автотесты интегрируются с тест-менеджмент системой Allure TestOps и таск-трекер системой Jira.

После завершения прогона отправляются уведомления с помощью бота в Telegram, Slack и на электронную почту.

Вернуться к содержанию 🔝

Запуск тестов из терминала

🕹️ Локальный запуск тестов с заполненным файлом app.properties

gradle clean ${TASK}

ℹ️ В файле app.properties должны быть расположены appURL и appForBusinessURL – адреса серверов, которые будут использоваться в тестах MvideoTest и MvideoForBusinessTest соответственно.

🕹️ Удаленный запуск тестов с заполненными файлами app.properties и credentials.properties

gradle clean ${TASK}
-DremoteURL=${REMOTE_URL}
-Dbrowser=${BROWSER}
-DversionBrowser=${BROWSER_VERSION}
-DbrowserSize=${BROWSER_SIZE}
-Dthreads=${THREADS}
ℹ️ Для запуска тестов должны существовать следующие файлы ⇩
👈 credentials.properties

В файле должны быть расположены:

  • login и password – данные для авторизации на удаленном сервере, на котором будут запускаться тесты
👈 app.properties

В файле должны быть расположены:

  • appURL – адрес сервера, который будет использоваться в тестах MvideoTest
  • appForBusinessURL – адрес сервера, который будет использоваться в тестах MvideoForBusinessTest

🕹️ Параметры сборки

👈 TASK – список тестов, сгруппированных по параметру тега. В зависимости от выбранного параметра, будут запускаться определенные группы тестов.

Доступные варианты:

  • test – запуск всех тестов
  • high_priority_tests – запуск высокоприоритетных тестов с тегами Critical, Highest, Blocker, High
  • web_test – запуск тестов с тегом Web

REMOTE_URL – адрес удаленного сервера, на котором будут запускаться тесты.

BROWSER – браузер, в котором будут выполняться тесты (по умолчанию - chrome).

BROWSER_VERSION – версия браузера, в которой будут выполняться тесты (по умолчанию - 91.0).

BROWSER_SIZE – размер окна браузера, в котором будут выполняться тесты (по умолчанию - 1920x1080).

THREADS – количество потоков для запуска тестов.

🕹️ Формирование отчета Allure

allure serve build/allure-results

❗ Для формирования отчета должен быть установлен Allure.

Вернуться к содержанию 🔝

Запуск тестов в Jenkins

🚀 Для запуска тестов в Jenkins необходимо выполнить следующие шаги:

  1. Открыть сборку Jenkins
  2. Нажать на таск "Собрать с параметрами"
  3. Указать значения параметров
  4. Нажать на кнопку "Собрать"

🚀 Для формирования отчета о прохождении тестов в Allure Report необходимо выполнить следующий шаг:

  1. После выполнения сборки нажать на любую ссылку/иконку "Allure Report"

Вернуться к содержанию 🔝

Отчет о результатах тестирования в Allure Report

Allure-framework используется в качестве инструмента для построения отчетов о прогоне автотестов. Он позволяет получить информацию о ходе выполнения тестов, а также прикрепить скриншоты, логи и видео к формируемому отчету. Имеется возможность указать различные теги, приоритеты и прочую сопутствующую информацию для тестов.

👈 Страница Overview

Сраница Overview является главной страницей Allure-отчета.

Состоит из следующих блоков:

  • Блок ALLURE REPORT – включает в себя дату и время прохождения теста, общее количество прогнанных кейсов, а также диаграмму с указанием процента и количества успешных, упавших и сломавшихся в процессе выполнения тестов.

  • Блок TREND – показывает тренд прохождения тестов от сборки к сборке.

  • Блок SUITES – показывает распределение результатов тестов по тестовым наборам.

  • Блок ENVIRONMENT – показывает тестовое окружение, на котором запускались тесты.

  • Блок CATEGORIES – показывает распределение неуспешно прошедших тестов по видам дефектов.

  • Блок FEATURES BY STORIES – показывает распределение тестов по функционалу, который они проверяют.

  • Блок EXECUTORS – показывает исполнителя текущей сборки. Если выполнение производилось на инструменте CI (например, на Jenkins), то будет предоставлена информация о джобе и номере сборки.

🎯 Главная страница Allure-отчета

👈 Страница Graphs

На странице Graphs можно получить информацию о тестовом прогоне в графическом виде: статус прогона, распределение тестов по критичности, длительности прохождения, перезапускам, категориям дефектов и так далее.

🎯 Информация о тестовом прогоне в графическом виде

👈 Страница Behaviors

На странице Behaviors тесты сгруппированы по проверяемому функционалу (Epic, Feature, Story).

🎯 Группировка тестов по проверяемому функционалу

👈 Прочие страницы
  • Страница Categories – данная страница предоставляет информацио о распределении дефектов по их видам.

  • Страница Suites – на данной странице представляется стандартное распределение выполнявшихся тестов по тестовым наборам или классам, в которых находятся тестовые методы.

  • Страница Timeline – данная страница визуализирует временные рамки прохождения каждого теста.

  • Страница Packages – на этой странице тесты сгруппированы по пакетам, в которых лежат тестовые классы.

Вернуться к содержанию 🔝

Интеграция тестов c тест-менеджмент системой Allure TestOps

Allure TestOps используется для хранения всех авто и ручных тестов, запусков и их результатов, а также статистики и отчетов.

🧩 Основной дашборд

🧩 Кастомный дашборд

🧩 Дашборд по типам тестов

🧩 Дашборд по стендам

🧩 Дашборд по команде

🧩 Запуски тестов

🧩 Результаты запуска тестов

🧩 Сгруппированные тест-кейсы по проверяемому функционалу

🧩 Обнаруженные дефекты

Вернуться к содержанию 🔝

Интеграция тестов c таск-трекер системой Jira

В проекте реализована интеграция с Jira, что позволяет добавлять в задачи тест-кейсы, запуски и их результаты.

Вернуться к содержанию 🔝

Уведомления в Telegram с использованием бота

После завершения сборки специальный бот, созданный в Telegram, автоматически обрабатывает и отправляет сообщение с отчетом о прогоне.

Вернуться к содержанию 🔝

Уведомления в Slack

После завершения сборки автоматически отправляется сообщение с отчетом о прогоне в Slack.

Вернуться к содержанию 🔝

Уведомления на электронную почту

После завершения сборки автоматически отправляется сообщение с отчетом о прогоне на электронную почту. Фреймворк также поддерживает уведомления в Skype и Mattermost.

Вернуться к содержанию 🔝

Пример запуска теста в Selenoid

К каждому тесту в отчете прилагается видео. Одно из таких видео представлено ниже.

Вернуться к содержанию 🔝

About

UI automated tests for the M.Video web application using the Selenide and Allure frameworks, Selenoid for running browsers in Docker containers, Jenkins for running tests, integration with Allure TestOps, Jira, Telegram, Slack, and email

Topics

Resources

Stars

Watchers

Forks

Languages