Giter VIP home page Giter VIP logo

demoqa's Introduction

Проект по автоматизации тестов на примере сайта 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

demoqa's People

Contributors

romaqa avatar ravasin avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.