Skip to content

🆔 Graduation project. UI and API automated tests using Java / Selenide / REST-Assured

Notifications You must be signed in to change notification settings

daramirra/qaGuruDiploma

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

81 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GitHub watchers

Проект по автоматизации тестирования форм

         :heavy_check_mark: входа в Систему

Данные формы являются частью разработки Системы обеспечения информационной безопасности "ВИЗОР", реализованной в одном из внедрений компанией ФРЕШТЕХ

🚀 Технологии и инструменты

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

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

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

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

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

Allure Report, Allure TestOps, Jira, Telegram Bot используются для визуализации результатов тестирования.

🗒️ Реализованы проверки

       UI

  • Проверка заголовка страницы входа в Систему
  • Лог консоли браузера на странице входа в Систему не содержит ошибок
  • Успешный вход в Систему
  • Попытка входа в Систему вне рабочего расписания доступа
  • Попытка входа в Систему с неразрешенного IP-адреса
  • Попытка входа в Систему под пользователем с истекшим сроком доступа
  • Попытка входа в Систему под пользователем с отключенной учетной записью
  • Попытка входа в Систему с невалидным значением логина
  • Попытка входа в Систему без указания пароля
  • Переход на страницу 'Восстановление пароля'

       API

  • Успешное начало процедуры восстановления пароля пользователя
  • Ошибка начала процедуры восстановления пароля пользователя без указания логина
  • Ошибка начала процедуры восстановления пароля пользователя по неизвестному логину
  • Ошибка начала процедуры восстановления пароля пользователя с не подтвержденным адресом электронной почты
  • Ошибка начала процедуры восстановления пароля пользователя с не указанным адресом электронной почты
  • Ошибка начала процедуры восстановления пароля пользователя с отключенной учетной записью

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

      :green_circle:  Запуск тестов с заполненным remote.properties:

gradle clean test

      :green_circle:  Запуск тестов без заполненного remote.properties:

gradle clean test 
  -Dbrowser=[BROWSER]
  -DbrowserVersion=[BROWSER_VERSION]
  -DbrowserSize=[BROWSER_SIZE]
  -DremoteDriverUrl=https://[selenoidUser]:[selenoidPwd]@[REMOTE_DRIVER_URL]/wd/hub/
  -DvideoStorage=https://[REMOTE_DRIVER_URL]/video/
  -Dthreads=[THREADS]
  -DaccountPassword=[ACCOUNT_PASSWORD]
  -DbaseUrl=[BASE_URL]

где:

  • Dbrowser - браузер, в котором будут выполняться тесты (по умолчанию chrome)
  • DbrowserVersion - версия браузера (по умолчанию 91.0)
  • DbrowserSize - размер окна браузера (по умолчанию 1920x1080)
  • DremoteDriverUrl - логин, пароль и адрес удаленного сервера, где будут выполняться тесты (по умолчанию https://[selenoidUser]:[selenoidPwd]@selenoid.autotests.cloud/wd/hub/)
  • DvideoStorage - хранилище видео выполненных тестов (по умолчанию https://selenoid.autotests.cloud/video/)
  • Dthreads - количество потоков выполняющихся тестов (по умолчанию 5)
  • DaccountPassword - пароль учетной записи пользователя для тестов
  • DbaseUrl - основной адрес тестового стенда

      :green_circle:  Запуск тестов в несколько потоков:

gradle clean test -Dthreads=[threadsValue]

      :green_circle:  Сформировать allure отчет:

allure serve build/allure-results

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

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

BROWSER (по умолчанию chrome)
BROWSER_VERSION (по умолчанию 91.0)
BROWSER_SIZE (по умолчанию 1920x1080)
REMOTE_DRIVER_URL (url-адрес selenoid, по умолчанию selenoid.autotests.cloud)
TREADS (по умолчанию 5)
ALLURE_NOTIFICATIONS_VERSION (по умолчанию 3.1.1)
ACCOUNT_PASSWORD (пароль учетной записи пользователя для тестов)
BASE_URL (основной адрес тестового стенда)

Для запуска сборки необходимо указать значения параметров и нажать кнопку Собрать.

job

После выполнения сборки, в блоке История сборок напротив номера сборки появится значок Allure Report, кликнув по которому, откроется страница с сформированным html-отчетом.

job

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

📌 Общая информация

Главная страница Allure-отчета содержит следующие информационные блоки:

  • ALLURE REPORT - отображает дату и время прохождения теста, общее количество прогнанных кейсов, а также диаграмму с указанием процента и количества успешных, упавших и сломавшихся в процессе выполнения тестов
  • TREND - отображает тренд прохождения тестов от сборки к сборке
  • SUITES - отображает распределение результатов тестов по тестовым наборам
  • ENVIRONMENT - отображает тестовое окружение, на котором запускались тесты (в данном случае информация не задана)
  • CATEGORIES - отображает распределение неуспешно прошедших тестов по видам дефектов
  • FEATURES BY STORIES - отображает распределение тестов по функционалу, который они проверяют
  • EXECUTORS - отображает исполнителя текущей сборки (ссылка на сборку в Jenkins)

Allure Report

📌 Список тестов c описанием шагов и визуализацией результатов

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

Allure Report

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

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

dashboards

📌 Дашборд по разным типам тестов

dashboards test types

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

dashboards team

📌 Запуски

launches

📌 Результат запуска

launch

📌 Тест-кейсы

test cases

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

jira

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

video

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

Telegram Telegram

Контакты

daramirra | Github daramirra | Telegram

About

🆔 Graduation project. UI and API automated tests using Java / Selenide / REST-Assured

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages