e-nms_qa_automation/docs/index.md

4.7 KiB
Raw Blame History

Документация тестового фреймворка 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. Все модули используют:
    • Общие данные из data/
    • Логирование через tools/logger.py
    • Фикстуры из fixtures/

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

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

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

bash

Все тесты

pytest tests/ -v

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

pytest tests/ -m smoke -v

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

bash

mkdocs serve

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

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

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

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

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

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

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

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

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

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

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

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

  • Лицензии