Доступные сценарии тестирования хост-сервера
Дата создания: 2026-01-16
Статус: Актуально
Обзор
В проекте DENKART используется комплексный набор тестовых сценариев для проверки работоспособности приложений хост-сервера. Все тесты разделены на несколько категорий:
- Тесты BigBlueButton - E2E и мониторинг веб-конференций
- Проверки веб-сервисов - HTTP/HTTPS доступность
- Проверки системных сервисов - статус системных служб
- Проверки SSL сертификатов - валидность и срок действия
- Анализ тестовых результатов - обработка и отчетность
1. Тесты BigBlueButton
1.1. End-to-End тест (E2E)
Файл: scripts/bbb-testing/bbb_e2e_test.py
Запуск: cd scripts/bbb-testing && python3 bbb_e2e_test.py
Что проверяет:
- ✅ Открытие главной страницы BigBlueButton
- ✅ Создание комнаты (через API или интерфейс)
- ✅ Присоединение к встрече
- ✅ Включение аудио и видео
- ✅ Проверка функциональности встречи
- ✅ Стабильность соединения
- ✅ Проверка медиа потоков (WebRTC)
- ✅ Проверка статуса через BBB API
Результаты:
- Скриншоты: scripts/bbb-testing/screenshots/
- Логи: scripts/bbb-testing/logs/bbb_e2e_test.log
- Отчеты: JSON и текстовые форматы
Особенности:
- Использует Playwright для автоматизации браузера
- Поддерживает headless и видимый режимы
- Автоматически создает комнаты через API
- Проверяет активность медиа потоков
- Интегрирован с BBB API для проверки статуса
1.2. Мониторинг BigBlueButton (детальный)
Файл: scripts/bbb-testing/bbb_monitoring_test.py
Запуск: cd scripts/bbb-testing && ./run_monitoring_test.sh
Альтернатива: python3 bbb_monitoring_test.py
Что проверяет:
- ✅ Этап 1: Открытие главной страницы
- ✅ Этап 2: Авторизация (ручная, с ожиданием действий пользователя)
- ✅ Этап 3: Переход на страницу комнат
- ✅ Этап 4: Создание/вход в комнату
- ✅ Этап 5: Присоединение к встрече
- ✅ Этап 6: Выбор и установка аудио соединения
- ✅ Этап 7: Выбор и запуск видео трансляции
Дополнительный мониторинг:
- Перехват всех сетевых запросов (HTTP, WebSocket)
- Анализ сетевых ответов и ошибок
- Мониторинг JavaScript ошибок в консоли
- Отслеживание изменений DOM
- Логирование всех этапов с временными метками
Результаты:
- Полный JSON отчет: scripts/bbb-testing/reports/monitoring_report_*.json
- Отчет об ошибках: scripts/bbb-testing/reports/errors_report_*.txt
- Скриншоты каждого этапа: scripts/bbb-testing/screenshots/
- Логи: scripts/bbb-testing/logs/monitoring_test.log
Особенности:
- Интерактивный режим - ожидает действий пользователя на каждом этапе
- Детальное логирование всех событий
- Автоматическое обнаружение ошибок
- Поддержка реальных медиа устройств (не fake)
- Максимальное время ожидания: 5 минут на этап
1.3. Анализатор DOM
Файл: scripts/bbb-testing/bbb_dom_analyzer.py
Запуск: cd scripts/bbb-testing && python3 bbb_dom_analyzer.py
Что проверяет:
- Структуру DOM элементов интерфейса
- Наличие критических элементов управления
- Доступность кнопок и форм
- Структуру страниц BigBlueButton
Результаты:
- scripts/bbb-testing/logs/dom_analysis_results.json
- scripts/bbb-testing/logs/bbb_dom_analyzer.log
1.4. Анализатор сетевых запросов
Файл: scripts/bbb-testing/bbb_network_analyzer.py
Запуск: cd scripts/bbb-testing && python3 bbb_network_analyzer.py
Что проверяет:
- Все HTTP запросы и ответы
- WebSocket соединения
- Ошибки сети (4xx, 5xx)
- Время ответа сервера
- Типы ресурсов (XHR, Fetch, WebSocket)
Результаты:
- scripts/bbb-testing/logs/network_analysis_results.json
- scripts/bbb-testing/logs/network_analysis_report.txt
- scripts/bbb-testing/logs/bbb_network_analyzer.log
1.5. Проверка функциональности
Файл: scripts/bbb-testing/bbb_functionality_checker.py
Запуск: cd scripts/bbb-testing && python3 bbb_functionality_checker.py
Что проверяет:
- Загрузку страницы
- Ошибки JavaScript
- Доступ к медиа устройствам
- WebSocket соединения
- Наличие критических элементов интерфейса
- Ошибки в консоли браузера
Результаты:
- scripts/bbb-testing/logs/functionality_check_report.json
- scripts/bbb-testing/logs/bbb_functionality_checker.log
1.6. Запуск всех тестов BigBlueButton
Файл: scripts/bbb-testing/run_all_tests.sh
Запуск: cd scripts/bbb-testing && ./run_all_tests.sh
Что выполняет:
1. E2E тест (bbb_e2e_test.py)
2. Анализатор DOM (bbb_dom_analyzer.py)
3. Анализатор сетевых запросов (bbb_network_analyzer.py)
4. Проверка функциональности (bbb_functionality_checker.py)
Особенности:
- Автоматически активирует виртуальное окружение Python
- Проверяет и настраивает виртуальные медиа устройства
- Создает необходимые директории
- Выводит сводный отчет по всем тестам
2. Проверки веб-сервисов
2.1. Проверка веб-сервисов
Файл: scripts/check-web-services.sh
Запуск: ./scripts/check-web-services.sh
Что проверяет:
- ✅ HTTP статус ответа (200, 3xx, 4xx, 5xx)
- ✅ SSL сертификаты (валидность, соответствие домену)
- ✅ Содержимое страницы (базовая проверка)
- ✅ Время ответа сервера
- ✅ Доступность доменов
Проверяемые домены:
- https://denkart.cdto.life
- https://docs.cdto.life
- https://school.cdto.life
- https://lms.cdto.life (Moodle 4.5)
Результаты:
- Цветной вывод в консоль
- Счетчики: успешно, предупреждения, ошибки
- Детальная информация по каждому домену
Особенности:
- Использует curl для HTTP запросов
- Использует openssl для проверки SSL
- Поддерживает игнорирование SSL ошибок для тестирования
- Таймаут: 10 секунд на запрос
3. Проверки системных сервисов
3.1. Проверка статуса сервисов
Файл: scripts/check-services.sh
Запуск: ./scripts/check-services.sh
Что проверяет:
- ✅ Статус системных сервисов (systemctl)
- ✅ Использование CPU и памяти
- ✅ Дисковое пространство
- ✅ Использование памяти
Проверяемые сервисы:
- nginx - веб-сервер
- postgresql - база данных
- docker - контейнеризация
Результаты:
- Статус каждого сервиса (работает/не работает)
- Краткая информация об использовании ресурсов
- Рекомендация запустить check-web-services.sh для детальной проверки
4. Проверки SSL сертификатов
4.1. Проверка SSL сертификатов
Файл: scripts/check-ssl-certificates.sh
Запуск: sudo ./scripts/check-ssl-certificates.sh (требует root)
Что проверяет:
- ✅ Срок действия SSL сертификатов
- ✅ Количество дней до истечения
- ✅ Валидность сертификатов
- ✅ Автоматическое обновление через certbot
Пороги предупреждений:
- ⚠️ Предупреждение: за 30 дней до истечения
- 🔴 Критическое: за 14 дней до истечения
- 🚨 Аварийное: за 7 дней до истечения
Результаты:
- Логи: /var/log/ssl-certificate-monitor.log
- Алерты: /var/log/ssl-certificate-alerts.log
- Цветной вывод в консоль
Особенности:
- Требует права root
- Использует certbot для получения списка сертификатов
- Автоматически проверяет все сертификаты, управляемые certbot
4.2. Проверка ошибок Certbot
Файл: scripts/check-certbot-errors.sh
Запуск: ./scripts/check-certbot-errors.sh
Что проверяет:
- Ошибки в логах certbot
- Проблемы с обновлением сертификатов
- Ошибки конфигурации
5. Анализ результатов тестирования
5.1. Анализ результатов тестов
Файл: scripts/analyze-test-results.sh
Запуск: ./scripts/analyze-test-results.sh
Что делает:
- Ищет файлы результатов в scripts/bbb-testing/results/
- Выводит список последних результатов
- Показывает даты создания файлов
- Предоставляет информацию для детального анализа
Результаты:
- Список найденных файлов результатов
- Даты создания файлов
- Пути к инструментам для детального анализа
6. Дополнительные проверки
6.1. Проверка BIOS обновлений
Файлы:
- scripts/check-bios-update.sh
- scripts/check-asus-bios-update.sh
- scripts/check-usb-for-bios.sh
Назначение: Проверка доступности обновлений BIOS и подготовка USB для обновления
6.2. Проверка мониторинга
Файл: scripts/check-and-create-monitoring-containers.sh
Запуск: ./scripts/check-and-create-monitoring-containers.sh
Что проверяет:
- Наличие контейнеров мониторинга (Prometheus, Grafana)
- Создание контейнеров при отсутствии
- Конфигурацию мониторинга
Быстрый старт
Для тестирования BigBlueButton:
# Переход в директорию тестов
cd /home/cdto/DENKART/scripts/bbb-testing
# Установка зависимостей (если еще не установлены)
./install.sh
# Настройка конфигурации
cp env.example .env
nano .env # Настройте параметры
# Запуск всех тестов
./run_all_tests.sh
# Или запуск отдельного теста
python3 bbb_e2e_test.py
Для проверки веб-сервисов:
# Проверка веб-сервисов
./scripts/check-web-services.sh
# Проверка системных сервисов
./scripts/check-services.sh
# Проверка SSL сертификатов (требует root)
sudo ./scripts/check-ssl-certificates.sh
Структура результатов
BigBlueButton тесты:
scripts/bbb-testing/
├── screenshots/ # Скриншоты тестов
├── logs/ # Логи и JSON отчеты
│ ├── bbb_e2e_test.log
│ ├── bbb_monitoring_test.log
│ ├── dom_analysis_results.json
│ ├── network_analysis_results.json
│ └── functionality_check_report.json
└── reports/ # Детальные отчеты
├── monitoring_report_*.json
└── errors_report_*.txt
Системные проверки:
- Логи SSL:
/var/log/ssl-certificate-monitor.log - Алерты SSL:
/var/log/ssl-certificate-alerts.log - Консольный вывод для веб-сервисов и системных сервисов
Конфигурация
Переменные окружения для BigBlueButton тестов:
Создайте файл scripts/bbb-testing/.env:
# URL BigBlueButton сервера
BBB_URL=https://school.cdto.life
# API ключ BigBlueButton (для создания комнат через API)
BBB_SECRET=your_bbb_secret_here
# Учетные данные (если требуется авторизация)
BBB_USERNAME=admin
BBB_PASSWORD=your_password_here
# Имя создаваемой комнаты
BBB_ROOM_NAME=test-room
# Настройки браузера
BROWSER_HEADLESS=false # true для headless, false для видимого
BROWSER_SLOW_MO=100 # Задержка между действиями (мс)
BROWSER_TIMEOUT=30000 # Таймаут операций (мс)
BROWSER_AUTO_GRANT_PERMISSIONS=false # Автоматически предоставлять разрешения
Рекомендации по использованию
- Регулярное тестирование:
- E2E тесты: ежедневно или после изменений
- Мониторинг: при обнаружении проблем
- Веб-сервисы: ежедневно
-
SSL сертификаты: еженедельно
-
Перед развертыванием:
- Запустить все тесты BigBlueButton
- Проверить веб-сервисы
-
Проверить SSL сертификаты
-
При проблемах:
- Запустить мониторинг тест для детального анализа
- Проверить логи в
scripts/bbb-testing/logs/ - Проверить скриншоты в
scripts/bbb-testing/screenshots/ - Анализировать отчеты об ошибках
Дополнительная документация
Последнее обновление: 2026-01-16