Перейти к содержанию
BusinessPad QA

Мобильная версия БП

Актуализировано: 2026-08-27.

Назначение

Репозиторий autotests_mobile содержит Android UI-автотесты BusinessPad на Python 3.12, Pytest, Appium и Allure. Сценарии построены по Page Object pattern и проверяют пользовательское поведение приложения на видимом Android Emulator или реальном устройстве.

Репозиторий остаётся источником фактического состава автотестов, а этот раздел портала является опубликованным представлением структуры, матриц и тест-кейсов.

Текущее состояние набора

Метрика Значение
UI-вариантов с учётом параметризации 170
Smoke 35
Regression 135
Unit-тестов инфраструктуры и Page Objects 342
Регулярных UI-модулей в main.py 12
Сценариев ручной regression-матрицы 133
Полностью покрыто 90
Частично покрыто 21
Не покрыто 21
Требует продуктового решения 1

Полностью автоматизировано 68% regression-матрицы — 90 из 133 сценариев. Полностью или частично автотестами затронуто 83% — 111 из 133 сценариев.

Области покрытия

Область Что проверяется
Авторизация вход, негативные проверки, безопасная навигация и валидация email восстановления пароля, выход
Нижнее меню переходы в задачи, ленту, «Ещё» и процессы
Профиль и аккаунты личная информация, сотрудники, мультиаккаунт и невалидные сохранённые сессии
Оформление светлая, тёмная и системная темы, сохранение выбора, основные экраны и Android-шторка
Процессы и сделки группы процессов, списки и карточки сделок, вкладки, этапы и документы
Поля сделки сохранение, отмена, обязательность, ограничения и файловые поля этапа
Задачи CRUD, статусы, сортировка, фильтры, связь со сделкой, права, календарь, документы, комментарии и сеть
Финансовые операции степпер, товарный сценарий, редактирование, корректировка суммы, копирование, разделение, возврат, удаление и права
Уведомления лента, категории, избранное, переходы в связанные сущности и Android push о задаче
Чат личные и групповые сообщения, reply, редактирование, удаление, вложения и offline/retry
Устойчивость управляемая ошибка скачивания документа, восстановление сети и сохранение черновика после background/foreground

Приоритет P2

Сценарий Состояние покрытия
Восстановление пароля Автоматизированы безопасная навигация и валидация email без отправки реального письма.
QR-авторизация Ожидает детерминированный выпуск одноразового token и подачу QR-изображения в камеру видимого эмулятора.
Полная товарная финансовая операция UI-сценарий проходит степпер до финиша; текущая сборка не сохраняет вычисленные price и priceWithTax, поэтому результат покрыт частично.
Переход из уведомления Переход в связанную задачу и настоящий task push покрыты. Переход по уведомлению экземпляра процесса автоматизирован, но текущая сборка не открывает карточку сделки.
Offline/retry сообщения в чат Покрыта блокировка REST и WebSocket-сервисов, отображение ошибки и ручная повторная отправка после восстановления сети.
Ошибка скачивания документа Покрыты управляемый обрыв сети, отсутствие локального файла, повторное скачивание и проверка целостности.
Background/foreground формы Проверяется сохранение названия и описания несохранённого черновика задачи.

Запуск

Основной Windows launcher:

start.bat

Проверка коллекции и unit-тестов:

.venv\Scripts\python.exe -m pytest --collect-only -q tests
.venv\Scripts\python.exe -m pytest unit_tests

Все Android Emulator автотесты запускаются только в видимом оконном режиме. Основной suite формируется в main.py; чат использует отдельные настройки CHAT_* и совместимый dev APK.

Документация

Дополнительно опубликованы сценарии оформления, полей сделки и сводный отчёт о покрытии.

Правила актуализации

  1. После изменения тестов обновить соответствующий docs/test_*_cases.md в репозитории автотестов.
  2. Сверить регулярные модули в main.py и выполнить Pytest collection.
  3. Перегенерировать docs/tests_structure.md командой .venv\Scripts\python.exe -m tools.make_tests_structure.
  4. Пересчитать статусы матрицы покрытия и сводные метрики отчёта.
  5. Обновить опубликованные страницы портала одним согласованным набором изменений.

В тест-кейсах описывается ожидаемое бизнес-поведение. Временные состояния запуска, локальные блокеры и причины отключения тестов в тест-кейсы не входят.