Документация тестового фреймворка eNODE-Мониторинг
Автоматически сгенерированная документация для тестового фреймворка, разработанного для тестирования eNODE-мониторинг.
Обзор проекта
Фреймворк разработан с использованием:
-
Playwright - для автоматизации браузера
-
Pytest - как основной тестовый движок
-
Page Object Model - паттерн для организации тестового кода
-
MkDocs - для генерации документации
-
Python 3.8+ - язык реализации
Детальная структура проекта
Корневая директория
.env- файл с переменными окруженияconftest.py- фикстуры Pytest, настройки генерации документацииmkdocs.yml- конфигурация документацииpytest.ini- конфигурация тестов (маркеры, параметры)requirements.txt- зависимости Pythonsetup.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 - система логирования
Взаимодействие компонентов
- Тесты используют страницы (pages)
- Страницы состоят из компонентов (components)
- Компоненты состоят из элементов (elements)
- Элементы используют локаторы из соответствующих файлов
- Все модули используют:
- Общие данные из data/
- Логирование через tools/logger.py
- Фикстуры из fixtures/
Как использовать
Установите зависимости:
bash pip install -e . Запустите тесты:
bash
Все тесты
pytest tests/ -v
Только smoke-тесты
pytest tests/ -m smoke -v
Сгенерируйте документацию:
bash
mkdocs serve
Поддерживаемые тесты
Авторизация (успешная/неудачная)
Управление сессиями:
-
Проверка таблицы
-
Удаление сессий
-
Модальные окна
Управление пользователями:
-
Создание/удаление
-
Изменение ролей
-
Сброс паролей
Системные тесты:
-
Статус сервисов
-
Лицензии