Проект по автоматизации тестирования UI для мобильного приложения Wikipedia
➠ Отчет о результатах тестирования в Allure Report
➠ Интеграция тестов c тест-менеджмент системой Allure TestOps
➠ Интеграция тестов c таск-трекер системой Jira
➠ Уведомления в Telegram с использованием бота
Разработаны автотесты на
UI
.
- Отображение результатов поиска
- Открытие страницы из результатов поиска
- Проверка первых четырех экранов Getting Started
В данном проекте автотесты написаны на
Java
с использованием фреймворковSelenide
иAppium
для UI-тестов, и библиотекиREST Assured
для отображения видео в отчете.
BrowserStack
выполняет запуск приложения на удаленном мобильном Android-устройстве.
Selenoid
выполняет запуск приложения на удаленном сервере в контейнерахDocker
.
Allure Report
формирует отчет о запуске тестов.Для автоматизированной сборки проекта используется
Gradle
.В качестве библиотеки для модульного тестирования используется
JUnit 5
.
Jenkins
выполняет запуск тестов.Автотесты интегрируются с тест-менеджмент системой
Allure TestOps
и таск-трекер системойJira
.После завершения прогона отправляются уведомления с помощью бота в
Telegram
.
gradle clean ${TASK}
-DdeviceHost=${DEVICE_HOST}
ℹ️ Для запуска тестов должны существовать следующие файлы ⇩
👈
browserstack.properties
В файле должны быть расположены:
user_name
иaccess_key
– данные, расположеные в настройках BrowserStack для App AutomateappURL
– ссылка на приложение, для которого будут запускаться тестыremoteURL
– адрес удаленного сервера, где будут запускаться тестыdevice
– имя девайса, на котором будут запускаться тестыos_version
– версия операционной системы девайсаproject
– название проектаbuild
– название сборкиname
– название группы тестов👈
selenoid.properties
В файле должны быть расположены:
selenoidURL
– адрес удаленного сервера, на котором будут запускаться тестыlogin
иpassword
– данные для авторизации на удаленном сервереdeviceName
– имя девайса, на котором будут запускаться тестыplatformName
– имя платформы, на которой будут запускаться тестыversion
– версия операционной системы девайсаlocale
– локализация приложения (код по стандарту ISO-639)language
– язык приложения (код по стандарту ISO-639)appPackage
– идентификатор пакета приложенияappActivity
– название основной активности приложенияappURL
– ссылка на приложение, для которого будут запускаться тестыvideoStorageURL
– адрес хранилища видео выполненных тестов👈
emulation.properties
В файле должны быть расположены:
deviceName
– имя девайса, на котором будут запускаться тестыplatformName
– имя платформы, на которой будут запускаться тестыversion
– версия операционной системы девайсаlocale
– локализация приложения (код по стандарту ISO-639)language
– язык приложения (код по стандарту ISO-639)appPackage
– идентификатор пакета приложенияappActivity
– название основной активности приложенияapp
– путь до приложения, для которого будут запускаться тестыremoteURL
– адрес удаленного сервера, на котором будут запускаться тесты👈
real.properties
В файле должны быть расположены:
deviceName
– имя девайса, на котором будут запускаться тестыplatformName
– имя платформы, на которой будут запускаться тестыversion
– версия операционной системы девайсаlocale
– локализация приложения (код по стандарту ISO-639)language
– язык приложения (код по стандарту ISO-639)appPackage
– идентификатор пакета приложенияappActivity
– название основной активности приложенияapp
– путь до приложения, для которого будут запускаться тестыremoteURL
– адрес удаленного сервера, на котором будут запускаться тесты
👈
TASK
– список тестов, сгруппированных по параметру тега. В зависимости от выбранного параметра, будут запускаться определенные группы тестов.Доступные варианты:
browserstack
– запуск тестов с тегом browserstack на платформе BrowserStackselenoid
– запуск тестов с тегом selenoid на удаленном сервере Selenoidemulation
– запуск тестов с тегом emulation на локальном эмуляторе устройстваreal
– запуск тестов с тегом real на реальном устройстве при его подключении через USB👈
DEVICE_HOST
– список параметров для запуска приложения. В зависимости от выбранного параметра, приложение будет запускаться на соответствующих стендах.Доступные варианты:
browserstack
– запуск приложения на удаленном мобильном Android-устройстве на платформе BrowserStackselenoid
– запуск приложения на удаленном сервере Selenoidemulation
– запуск приложения на локальном эмуляторе мобильного Android-устройства в Android Studio IDEreal
– запуск приложения на реальном устройстве при его подключении через USB
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.
К каждому тесту в отчете прилагается видео. Примеры таких видео представлены ниже.