Skip to content

# Документация тестового фреймворка eNODE-Мониторинг

Автоматически сгенерированная документация для тестового фреймворка, разработанного для тестирования eNODE-мониторинг.

## Обзор проекта

Фреймворк разработан с использованием:

- Playwright - для автоматизации браузера

- Pytest - как основной тестовый движок

- Page Object Model - паттерн для организации тестового кода

- MkDocs - для генерации документации

- Python 3.8+ - язык реализации

## Детальная структура проекта

### Корневая директория

- `.env` - файл с переменными окружения
- `conftest.py` - фикстуры Pytest, настройки генерации документации
- `mkdocs.yml` - конфигурация документации
- `pytest.ini` - конфигурация тестов (маркеры, параметры)
- `requirements.txt` - зависимости Python
- `setup.py` - конфигурация пакета

### Основные модули

#### 1. components/

Базовые компоненты UI: - `alert_component.py` - работа с alert-окнами (ошибки, успех, информация) -

#### 2. data/

Данные и конфигурации: - `constants.py` - константы (логины, пароли) - `environment.py` - настройки окружения (test/develop) - `roles_dict.py` - словарь ролей пользователей -

#### 3. docs/

Документация: - `tests/` - документация тестов - `config/` - инструкции по настройке - index.md

#### 4. elements/

UI-элементы: - `base_element.py` - базовый элемент - `button_element.py` - кнопки - `checkbox_element.py` - чекбоксы - `text_element.py` - текстовые элементы - `text_input_element.py` - поля ввода - `toolbar_button_element.py` - кнопки тулбара

#### 5. fixtures/

Фикстуры Pytest: - `pages.py` - настройки браузеров, контекстов

#### 6. locators/

Локаторы элементов: - Локаторы для всех основных компонентов (confirm, modal windows, tables и т.д.)

#### 7. modal_windows/

Специализированные модальные окна: - `modal_add_user.py` - добавление пользователя - `modal_edit_user.py` - редактирование пользователя

#### 8. pages/

Страницы приложения: - `base_page.py` - базовый класс страницы - `login_page.py` - страница авторизации - `main_page.py` - главная страница - Табы: `service_status_tab.py`, `session_tab.py`, `users_tab.py`

#### 9. tests/

Тесты: - Основные тесты (`test_login.py`, `test_session_tab.py` и др.) - Поддиректории: - `components/` - тесты компонентов - `e2e/` - end-to-end тесты

#### 10. tools/

Утилиты: - `logger.py` - система логирования

## Взаимодействие компонентов

1. Тесты используют страницы (pages)
2. Страницы состоят из компонентов (components)
3. Компоненты состоят из элементов (elements)
4. Элементы используют локаторы из соответствующих файлов
5. Все модули используют:
6. Общие данные из data/
7. Логирование через tools/logger.py
8. Фикстуры из fixtures/

## Как использовать

### Установите зависимости:

bash pip install -e . Запустите тесты:

bash

### Все тесты

pytest tests/ -v

### Только smoke-тесты

pytest tests/ -m smoke -v

### Сгенерируйте документацию:

bash

mkdocs serve

### Поддерживаемые тесты

Авторизация (успешная/неудачная)

Управление сессиями:

- Проверка таблицы

- Удаление сессий

- Модальные окна

Управление пользователями:

- Создание/удаление

- Изменение ролей

- Сброс паролей

### Системные тесты:

- Статус сервисов

- Лицензии