Files
god_eye/docs/FIXED_SESSION_TESTING_GUIDE.md
2025-10-04 11:55:55 +09:00

8.0 KiB
Raw Blame History

Инструкция по тестированию исправленной системы сессий

Проблемы, которые были исправлены:

1. Оператор не получал уведомления о новых запросах

Исправление: Добавлены правильные события session:created, session:accepted, session:rejected, session:ended

2. Сессии не отображались в приложении при подтверждении

Исправление: Обновлена обработка событий сессий в десктопном приложении

3. Правильная сущность сессий для переключения

Исправление: Полная реализация системы множественных сессий с переключением

Последовательность тестирования:

Шаг 1: Подключение к серверу

  1. Запустите десктопное приложение
  2. НОВОЕ: Панель подключения по умолчанию свернута с индикатором статуса 🔗 ● в заголовке
  3. Кликните на заголовок "🔗 Подключение к серверу" чтобы развернуть панель
  4. Нажмите "Подключиться" - кнопка должна изменить текст на "Отключиться"
  5. НОВОЕ: Индикатор в заголовке изменится на зеленый ● для показа активного подключения
  6. В журнале должно появиться сообщение о подключении

Шаг 2: Симуляция Android устройства

  1. В веб-демо (http://localhost:3001) найдите секцию "Test Android Device"
  2. Нажмите "Simulate Android Connection"
  3. В десктопном приложении должно появиться новое устройство в списке

Шаг 3: Создание первой сессии

  1. В десктопном приложении нажмите "Подключиться" к устройству
  2. НОВОЕ: В списке сессий должна немедленно появиться сессия со статусом "Ожидание" (🟠)
  3. В веб-демо появится запрос "Camera request from operator"
  4. Нажмите "Accept Request" в веб-демо
  5. НОВОЕ: Сессия в приложении должна изменить статус на "Активна" (🟢)

Шаг 4: Создание множественных сессий

  1. Повторите шаг 3 еще 2-3 раза для создания нескольких сессий
  2. НОВОЕ: Кнопка устройства должна изменить текст на "Добавить сессию"
  3. В списке сессий должны отображаться все активные сессии

Шаг 5: Переключение между сессиями

  1. Кликните "Переключиться" на любой неактивной сессии
  2. НОВОЕ: Активная сессия должна выделиться зеленой рамкой
  3. В верхней части должна отобразиться информация об активной сессии

Шаг 6: Переключение камеры

  1. В активной сессии нажмите "Фронтальная"
  2. НОВОЕ: Тип камеры должен обновиться в информации о сессии
  3. В журнале должно появиться сообщение о переключении

Шаг 7: Завершение сессии

  1. Нажмите "Завершить" на любой сессии
  2. НОВОЕ: Сессия должна исчезнуть из списка
  3. Если это была активная сессия, должна автоматически активироваться другая

Новые события в журнале:

События сессий:

  • Сессия создана: [sessionId] - при запросе доступа к камере
  • Сессия принята: [sessionId] - при подтверждении на устройстве
  • Сессия отклонена: [sessionId] - при отказе на устройстве
  • Сессия завершена: [sessionId] - при закрытии сессии

События устройств:

  • Новое устройство подключено: [deviceId] - при подключении Android
  • Устройство отключено: [deviceId] - при отключении Android

События управления:

  • Переключение на сессию: [sessionId] - при смене активной сессии
  • Переключение на камеру: [type] в сессии [sessionId] - при смене камеры
  • Завершение сессии: [sessionId] - при инициировании закрытия

Визуальные индикаторы:

Статусы сессий:

  • 🟠 Ожидание - запрос отправлен, ждем ответа от устройства
  • 🟢 Активна - сессия установлена и работает
  • 🔴 Отклонена - устройство отклонило запрос
  • Завершена - сессия была закрыта

Кнопки устройств:

  • "Подключиться" (синяя) - нет активных сессий с устройством
  • "Добавить сессию" (зеленая) - есть активные сессии, можно добавить еще

Активная сессия:

  • Выделена зеленой рамкой в списке
  • Отображается в верхней части: Активная сессия: [device] ([camera])
  • Кнопка показывает "Активна" вместо "Переключиться"

Проверка исправлений:

Проблема 1: Получение запросов

  • Сессия должна появляться в списке сразу при нажатии "Подключиться"
  • Статус должен меняться с "Ожидание" на "Активна" при подтверждении

Проблема 2: Отображение сессий

  • После "Accept Request" в веб-демо, сессия немедленно становится активной
  • Все данные сессии корректно отображаются в списке

Проблема 3: Переключение сессий

  • Можно создать несколько активных сессий одновременно
  • Переключение между сессиями работает мгновенно
  • Управление камерами работает для каждой сессии независимо

Ожидаемое поведение:

  1. Мгновенная отзывчивость - все действия отражаются в UI немедленно
  2. Множественные сессии - можно управлять несколькими устройствами одновременно
  3. Четкая индикация - всегда ясно, какая сессия активна и каков ее статус
  4. Правильная синхронизация - состояние между сервером и клиентом всегда синхронизировано

Теперь система сессий работает полноценно и позволяет эффективно управлять множественными подключениями!