- Описание проекта
- Структура проекта
- Диаграмма состояний
- Основные функции
- Технологии и инструменты
- Настройка окружения
- Запуск тестов
- Структура отчетов
- Особенности проекта
Данный проект представляет собой набор автоматизированных тестов для веб-приложения Parabank. Тесты покрывают основные функции, такие как регистрация пользователя, авторизация, просмотр счета и транзакций, а также другие действия, поддерживаемые сайтом.
parabank/
│
├── .github/ # Конфигурации GitHub Actions
│ ├── workflows/
│ ├── auto_tests.yml
│ ├── ruff_check.yml
├── config/ # Настройки конфигурации
├── data/ # Модули для работы с тестовыми данными
│ ├── __init__.py
│ ├── user_data.py
├── docs/ # Документация
├── pages/ # Page Object модели для страниц сайта Parabank
│ ├── __init__.py
│ ├── base_page.py
│ ├── main_page.py
│ ├── overview_page.py
│ ├── register_page.py
├── tests/ # Тестовые модули
│ ├── base/
│ ├── __init__.py
│ ├── base_test.py
│ ├── ui/
│ ├── __init__.py
│ ├── test_ui_elements.py
│ ├── test_login.py
│ ├── test_main_parabank.py
│ ├── test_register.py
├── .gitignore
├── conftest.py # Конфигурация PyTest
├── pyproject.toml # Конфигурация для Ruff
├── pytest.ini # Конфигурация PyTest
├── README.md
├── requirements.txt # Зависимости проекта
- Регистрация нового пользователя с различными валидными и невалидными данными
- Авторизация зарегистрированного пользователя
- Просмотр баланса счета, истории транзакций и информации о пользователе
- Проверка корректности отображения элементов интерфейса
- Python
- Pytest
- Allure для отчетов
- Playwright для взаимодействия с UI
- Page Object Model для структурирования тестов
- GitHub Actions для CI/CD
-
Убедитесь, что установлен Python 3.10+
-
Клонируйте репозиторий:
git clone https://github.com/ZhikharevAl/ParaBank.git cd ParaBank
-
Создайте виртуальное окружение и активируйте его:
uv venv .venv source .venv/bin/activate # Для Linux/Mac .venv\Scripts\activate # Для Windows
-
Установите зависимости:
uv pip install --upgrade -r requirements.txt
Для запуска всех тестов:
pytest
Для запуска конкретного теста:
pytest tests/ui/test_ui_elements.py
Для создания Allure-отчета:
pytest --alluredir=./allure-results
allure serve ./allure-results
Проект использует Allure для генерации отчетов. Каждый тест включает:
- Подробное описание шагов
- Скриншоты при сбоях
- Уровень приоритета теста
- Использование Page Object Model для структурирования кода
- Параметризация тестов для охвата разных сценариев
- Поддержка CI/CD через GitHub Actions для автоматического запуска тестов
- Разделение тестов по категориям для лучшего покрытия