Skip to content

This project is a set of automated tests for the Parabank web application.

Notifications You must be signed in to change notification settings

ZhikharevAl/ParaBank

Repository files navigation

Проект автоматизированного тестирования Parabank

Ruff Linter Playwright Tests

Оглавление

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

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

Full diagram State diagram

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

  • Регистрация нового пользователя с различными валидными и невалидными данными
  • Авторизация зарегистрированного пользователя
  • Просмотр баланса счета, истории транзакций и информации о пользователе
  • Проверка корректности отображения элементов интерфейса

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

  • Python
  • Pytest
  • Allure для отчетов
  • Playwright для взаимодействия с UI
  • Page Object Model для структурирования тестов
  • GitHub Actions для CI/CD

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

  1. Убедитесь, что установлен Python 3.10+

  2. Клонируйте репозиторий:

    git clone https://github.com/ZhikharevAl/ParaBank.git
    cd ParaBank
  3. Создайте виртуальное окружение и активируйте его:

    uv venv .venv
    source .venv/bin/activate  # Для Linux/Mac
    .venv\Scripts\activate    # Для Windows
  4. Установите зависимости:

    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 Report

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

Проект использует Allure для генерации отчетов. Каждый тест включает:

  • Подробное описание шагов
  • Скриншоты при сбоях
  • Уровень приоритета теста

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

  • Использование Page Object Model для структурирования кода
  • Параметризация тестов для охвата разных сценариев
  • Поддержка CI/CD через GitHub Actions для автоматического запуска тестов
  • Разделение тестов по категориям для лучшего покрытия

About

This project is a set of automated tests for the Parabank web application.

Topics

Resources

Stars

Watchers

Forks

Packages

No packages published