Skip to content

RomaQA/demoqa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Проект по автоматизации тестов на примере сайта DemoQA

DemoQA — это демо-сайт для QA-инженеров.
Сайт состоит из типичных web-форм, которые используются во всех сайтах, на примере книжного магазина с открытым API.

Тестовый проект состоит из UI и API тестов.

Список проверок, реализованных в UI автотестах:

  • Авторизация пользователя;
  • Поиск 1 книги;
  • Поиск нескольких книг по общему названию;
  • Наличие информационного текста, если книга не найдена;
  • Заполнение формы регистрации с максимальным и минимальным набором параметров;
  • Наличие требуемых заголовков в верхнем меню страницы.

Список проверок, реализованных в API автотестах:

  • Регистрация нового пользователя;
  • Регистрация существуюшего пользователя;
  • Проверка токена авторизации;
  • Успешное и неуспешное удаление пользователя.

Что особенного:

  • Page Object паттерн;
  • Генерация "случанных" данных с помощью библиотеки Faker;
  • Параметризованная сборка;
  • Config settings с использорванием библиотеки Owner ;
  • Использование Lombok модели в API тестах;
  • Сериализация/Десериализация API запросов через библиотекуJackson;
  • Allure TestOps интеграция;
  • Реализован подход "Автотест - как документация";
  • Параллельный запуск.

Автотесты разработаны на Java с использованием Selenide фреймфорка.
Gradle - сборщик проектов.
JUnit5 - executor тестов.
REST Assured - библиотека для упращения тестирования REST сервисов.
Jenkins - CI/CD сервис для запуска тестов.
Selenoid - удаленный запуск бразуерных тестов в Docker контейнерах.
Allure Report - визуализация тестовых результатов.
Telegram Bot - оповещения в телеграмме о результатах тестирования.
Allure TestOps - Test Management System.

Для локального запуска тестов, можно воспользоваться командой:

gradle clean test

Дополнительные параметры:

-Dthreads=<количество_потоков> - для запуска параллельных тестов
-Denv=remote - для запуска удаленных тестов, где remote = url установленый в файле remote.properties

-Dtag=<tag> - запуск тестов по тегам:

  • api
  • ui
  1. Открыть проект;

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

JenkinsBuildMainPage

  1. Выбрать пункт Собрать с параметрами;

JenkinsBuildParameters

  1. В случае необходимости изменить параметры, выбрав значения из выпадающих списков;
  2. Нажать <Собрать>;
  3. Результат запуска сборки можно посмотреть в отчёте Allure и AllureTestOps.

JenkinsFinishedBuild

Может быть показана полная информация о каждом тесте: теги, серьезность, продолжительность, подробные шаги. Также доступны артефакты тестирования такие как:

  • Скриншоты
  • Page Source
  • Консольные логи
  • Видео выполнения теста

AllureReportSuites

Телеграм бот присылает краткий репорт о результатах тестирования после каждой сборки.

TelegramNotification

AllureTestOpsTests

VideoSearch