KELONMYOSA / tinkoff-tests

Автотесты продуктов компании Тинькофф с использованием Selenide, Allure, Appium, Rest-Assured, Selenoid, Jenkins, Jira и Telegram Bot

Home Page:https://www.tinkoff.ru

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Автоматизированное тестирование продуктов компании Тинькофф

📃 Содержание

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

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

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

Удаленный запуск тестов

Сборка в Jenkins

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

Интеграция с Allure TestOps

Интеграция с Jira

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

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

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

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

WEB (Сайт tinkoff.ru)

  • Проверка наличия логотипа в хедере
  • Проверка некорректного входа в личный кабинет
  • Проверка формы оформления кредитной карты
  • Проверка того, что стоимость выбранных подписок совпадает с итоговой
  • Проверка поиска авиабилетов

MOBILE (Android приложение Тинькофф Журнал)

  • Проверка приветственного экрана
  • Проверка версии приложения
  • Проверка поиска
  • Проверка отображения курсов в учебнике
  • Проворка наличия статей в журнале

API (Группа Тинькофф VK)

  • Проверка подписки на группу
  • Проверка того, что существует последняя запись на стене
  • Проверка лайка последней записи
  • Проверка комментария последней записи

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

В данном проекте автотесты написаны на Java с использованием Selenide для UI-тестов, Rest-Assured для REST API тестов и Appium для мобильного тестирования.

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

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

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

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

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

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

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

Локальный запуск тестов

gradle clean ${TAG}

Удаленный запуск тестов

clean
${TAG}
-Dbrowser=${BROWSER}
-DbrowserVersion=${BROWSER_VERSION}
-DbrowserSize=${BROWSER_SIZE}
-DbrowserMobileView=${BROWSER_MOBILE}
-DremoteDriverUrl=https://${REMOTE_DRIVER_URL}
-DvideoStorage=https://${REMOTE_DRIVER_URL}/video/

-DdeviceHost=${DEVICE_HOST}
-DbrowserstackUser=${BROWSERSTACK_USER}
-DbrowserstackKey=${BROWSERSTACK_KEY}
-DbrowserstackAppUrl=${BROWSERSTACK_APP_URL}

-DvkToken=${VK_TOKEN}
-DvkID=${VK_ID}

-Dthreads=${THREADS}

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

TAG – запускаемые тесты (web, mobile или api).

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

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

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

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

BROWSER_MOBILE – название мобильного устройства (например - IPhone X).

DEVICE_HOST – запуск тестов на локальном устройстве или с помощью Browserstack (local или browserstack).

BROWSERSTACK_USER – ID пользователя.

BROWSERSTACK_KEY – ключ пользователя.

BROWSERSTACK_APP_URL – URL приложения в Browserstack.

VK_TOKEN – access token пользователя VK или сообщества (полные права доступа можно получить через Implicit Flow (привязан к IP)).

VK_ID – ID пользователя VK.

THREADS – количество потоков.

Главная страница сборки Jenkins

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

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

WEB

MOBILE

API

📌 Страница с тестами

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

Интеграция с Allure TestOps

dashboards

Интеграция с Jira

issues

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

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

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

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

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

About

Автотесты продуктов компании Тинькофф с использованием Selenide, Allure, Appium, Rest-Assured, Selenoid, Jenkins, Jira и Telegram Bot

https://www.tinkoff.ru


Languages

Language:Java 90.9%Language:FreeMarker 9.1%