Проект по автоматизации тестов на примере сайта DemoQA
DemoQA — это демо-сайт для QA-инженеров.
Сайт состоит из типичных web-форм, которые используются во всех сайтах, на примере книжного магазина с открытым API.
- Описание
- Инструменты и технологии
- Запуск
- Telegram оповещения
- Интеграция с Allure TestOps
- Видео запуска тестов
Тестовый проект состоит из UI и API тестов.
- Авторизация пользователя;
- Поиск 1 книги;
- Поиск нескольких книг по общему названию;
- Наличие информационного текста, если книга не найдена;
- Заполнение формы регистрации с максимальным и минимальным набором параметров;
- Наличие требуемых заголовков в верхнем меню страницы.
- Регистрация нового пользователя;
- Регистрация существуюшего пользователя;
- Проверка токена авторизации;
- Успешное и неуспешное удаление пользователя.
-
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
- Открыть проект;
Главная страница сборки:
- Выбрать пункт Собрать с параметрами;
- В случае необходимости изменить параметры, выбрав значения из выпадающих списков;
- Нажать <Собрать>;
- Результат запуска сборки можно посмотреть в отчёте Allure и AllureTestOps.
Может быть показана полная информация о каждом тесте: теги, серьезность, продолжительность, подробные шаги. Также доступны артефакты тестирования такие как:
- Скриншоты
- Page Source
- Консольные логи
- Видео выполнения теста
Телеграм бот присылает краткий репорт о результатах тестирования после каждой сборки.