Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

daramirra/qaGuruDiploma

Open more actions menu

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

Morty Proxy This is a proxified and sanitized view of the page, visit original site.