Skip to content

Этот проект предназначен для автоматизированного тестирования и включает в себя как API, так и UI тесты.

Notifications You must be signed in to change notification settings

ZhikharevAl/TestNest

Repository files navigation

Ruff Linter Run API Tests with Allure Report Run Tests and Generate Allure Report

Проект автоматизированного тестирования UI и API.

Оглавление

Описание проекта

Данный проект представляет собой комплексный набор автоматизированных тестов для веб-приложения и 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       # Зависимости проекта

Основные функции

UI тестирование:

  • Добавление нового клиента с валидными данными
  • Сортировка списка клиентов
  • Удаление клиентов

API тестирование:

  • CRUD операции для сущностей (создание, чтение, обновление, удаление)
  • Получение списка всех сущностей

Технологии и инструменты

  • Python 3.10+
  • Pytest
  • Selenium WebDriver (для UI тестов)
  • Requests (для API тестов)
  • Allure для создания отчетов
  • Faker для генерации тестовых данных
  • GitHub Actions для непрерывной интеграции

Настройка окружения

  1. Убедитесь, что у вас установлен Python 3.10+
  2. Склонируйте репозиторий:
    https://github.com/ZhikharevAl/TestNest.git
    cd TestNest
    
  3. Создайте виртуальное окружение и активируйте его:
    python -m venv venv
    source venv/bin/activate  # Для Linux/Mac
    venv\Scripts\activate     # Для Windows
    
  4. Установите зависимости:
    pip install -r requirements.txt
    

Запуск тестов

Для запуска всех тестов:

pytest

Для запуска UI тестов:

pytest -m ui

Для запуска API тестов:

pytest -m api

Для генерации Allure-отчета:

pytest --alluredir=./allure-results
allure serve ./allure-results

Screenshot 2024-09-30 025738

Screenshot 2024-09-30 032136

Структура отчетов

Тесты используют фреймворк Allure для создания подробных отчетов. Каждый тест содержит:

  • Описание теста
  • Шаги выполнения теста
  • Запросы и ответы API (для API тестов)
  • Скриншоты (для UI тестов при падении)
  • Уровень важности теста

Особенности проекта

  • Комплексное тестирование UI и API в рамках одного проекта
  • Использование генераторов данных для создания тестовых данных
  • Параметризация тестов для проверки различных сценариев
  • Параллельный запуск тестов
  • Автоматическое логирование запросов и ответов API
  • Проверка корректности данных в ответах API и UI
  • Документирование тест-кейсов в директории docs/
  • Использование GitHub Actions для автоматического запуска тестов при push и pull request

About

Этот проект предназначен для автоматизированного тестирования и включает в себя как API, так и UI тесты.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages