- Описание проекта
- Структура проекта
- Основные функции
- Технологии и инструменты
- Настройка окружения
- Запуск тестов
- Структура отчетов
- Особенности проекта
Данный проект представляет собой комплексный набор автоматизированных тестов для веб-приложения и API. Тесты охватывают как пользовательский интерфейс UI, так и программный интерфейс приложения API.
TestNest/
│
├── .github/ # Конфигурации GitHub
├── config/ # Конфигурационные файлы
├── data/ # Модули для работы с данными
├── docs/ # Документация
├── pages/ # Page Object модели для UI
├── services/ # Сервисы для работы с API
├── tests/ # Тестовые модули
│ ├── ui/ # UI тесты
│ └── api/ # API тесты
├── utils/ # Вспомогательные утилиты
├── .gitignore
├── pyproject.toml # Конфигурация Ruff
├── pytest.ini # Конфигурация PyTest
├── README.md
└── requirements.txt # Зависимости проекта
- Добавление нового клиента с валидными данными
- Сортировка списка клиентов
- Удаление клиентов
- CRUD операции для сущностей (создание, чтение, обновление, удаление)
- Получение списка всех сущностей
- Python 3.10+
- Pytest
- Selenium WebDriver (для UI тестов)
- Requests (для API тестов)
- Allure для создания отчетов
- Faker для генерации тестовых данных
- GitHub Actions для непрерывной интеграции
- Убедитесь, что у вас установлен Python 3.10+
- Склонируйте репозиторий:
https://github.com/ZhikharevAl/TestNest.git cd TestNest
- Создайте виртуальное окружение и активируйте его:
python -m venv venv source venv/bin/activate # Для Linux/Mac venv\Scripts\activate # Для Windows
- Установите зависимости:
pip install -r requirements.txt
Для запуска всех тестов:
pytest
Для запуска UI тестов:
pytest -m ui
Для запуска API тестов:
pytest -m api
Для генерации Allure-отчета:
pytest --alluredir=./allure-results
allure serve ./allure-results
Тесты используют фреймворк Allure для создания подробных отчетов. Каждый тест содержит:
- Описание теста
- Шаги выполнения теста
- Запросы и ответы API (для API тестов)
- Скриншоты (для UI тестов при падении)
- Уровень важности теста
- Комплексное тестирование UI и API в рамках одного проекта
- Использование генераторов данных для создания тестовых данных
- Параметризация тестов для проверки различных сценариев
- Параллельный запуск тестов
- Автоматическое логирование запросов и ответов API
- Проверка корректности данных в ответах API и UI
- Документирование тест-кейсов в директории
docs/
- Использование GitHub Actions для автоматического запуска тестов при push и pull request