Skip to content

Latest commit

 

History

History
363 lines (277 loc) · 19.5 KB

README.md

File metadata and controls

363 lines (277 loc) · 19.5 KB

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

Содержание

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

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

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

Запуск тестов в 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

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

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