Демонстрация построения процесса автоматизации тестирования для REST API на Python с нуля до CI/CD
- Создадим проект в GitLab
- Создадим Access Token для артифактов
- Занесем полученный токен в Variables
- Склонируем проект на ПК
- Выберем API для работы
- Проверим его работоспособность
- Выстроим продвинутую архитектуру
- Пропишем фикстуру в conftest.py для инициализации нашего API
- Создадим config-файлы
- Выделим и реализуем структуру сервисов
- Реализуем enpoints и payloads
- Напишем API-методы (шаги тестов)
- Реализуем валидацию моделей через дата-классы с помощью Pydantic
- Проверим доступ к полям ответов через атрибуты класса
- Напишем кастомный валидатор в Pydantic
- Сделаем вспомогательную библиотеку
- Напишем и запустим первый тест
- Проверим, как тест реагирует на дефект (ловит или нет)
- Пропишем pytest-маркеры
- Подключим Allure
- Запустим тесты и проверим генерацию отчетов
- Создадим Dockerfile
- Создадим docker-compose.yml
- Запускаем все локально в Docker-контейнере
- Добавим .gitignore
- Запушим проект в GitLab
- Прокинем API-токен в Variables
- Напишем gitlab-ci.yml
- Запустим пайплайн и инициализируем gitlab-pages
- Реализуем хранение истории Allure Reports