Проект автоматизации тестирования Trello.
- Технологии и инструменты используемые для тестирования данного проекта.
- Реализованные проверки:
- Тесты пользовательского интерфейса (WEB);
- Тесты прикладного программного интерфейса (API).
- Способы запуска авто-тестов:
- Локальный запуск;
- Удаленный запуск;
- Параметры для запуска тестов в Jenkins.
- Визуализация.
Автоматизация тестовых сценариев выполнена с помощью языка программирования Java
.
В качестве системы сборки используется Gradle
, а в качестве фреймворка для тестирования JUnit5
.
Для автоматизации графического (пользовательского) интерфейса используется библиотека Selenide
, а для проверки API —
REST-assured
.
Для предоставления отчетности о выполнении тестов использован инструмент — Allure-Report
.
Отчет состоит из следующих элементов:
- Шаги;
- Снимок экрана для последнего шага теста;
- Видео выполнения;
- Исходный код страницы;
- Логи консоли браузера.
Дополнительным инструментом уведомления о прохождении тестов выступает telegram bot
отправляющий отчет в
специально созданный для этого канал.
Указанные выше инструменты позволяют не только предоставить отчетность менеджерам, но и в случае проблем быстрее позволит разобраться в причине падений тестов.
Удаленный запуск WEB тестов осуществляется с помощью Selenoid
, который представляет собой ферму браузеров, а системой CI/CD
выступает — Jenkins
.
Выполнена проверка методов на предмет того, что они выполняют свою бизнес-функцию (В том числе, проверка значений определенных полей в теле ответа). Помимо этого, конечно, есть проверки статусов кода. Также, в некоторых тестах проверяется соблюдение контракта.
Есть тесты проверяющие аутентификацию пользователя, включая негативные сценарии. Дополнительно, есть сценарии проверяющие основные пользовательские действия с базовыми сущностями Trello. К примеру, создание досок, списков, карточек и прочее.
Все команды необходимо выполнять в эмуляторе терминала (консоль).
API:
gradle clean api_tests -Denv=local
UI:
gradle clean ui_tests -Denv=local
API:
gradle clean api_tests
UI:
gradle clean ui_tests
clean
${TASK}
-DbaseUrl=${BASE_URL}
-DbaseURI=${BASE_URI}
-Dremote=https://${SELENOID_USER}:${SELENOID_PASSWORD}@${REMOTE}/wd/hub
-Dbrowser=${BROWSER}
-DbrowserVersion=${VERSION}
-DbrowserSize=${BROWSER_SIZE}
baseUrl
— Адрес стенда для UI тестов.
baseURI
— Адрес стенда для API тестов.
remote
— Адрес на котором развернут Selenoid (для удаленного выполнения UI тестов).
browser
— Имя браузера.
browserVersion
— Версия браузера.
browserSize
— Размер окна браузера.