Мобильная версия БП¶
Актуализировано: 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.
Документация¶
- Smoke checklist
- Regression checklist
- Матрица покрытия regression-сценариев
- Отчёт о функциональном покрытии
- Структура UI-автотестов Android
- Авторизация
- Процессы
- Финансовые операции
- Меню
- Задачи
- Уведомления
- Меню «Ещё»
- Мультиаккаунт
- Чат
Дополнительно опубликованы сценарии оформления, полей сделки и сводный отчёт о покрытии.
Правила актуализации¶
- После изменения тестов обновить соответствующий
docs/test_*_cases.mdв репозитории автотестов. - Сверить регулярные модули в
main.pyи выполнить Pytest collection. - Перегенерировать
docs/tests_structure.mdкомандой.venv\Scripts\python.exe -m tools.make_tests_structure. - Пересчитать статусы матрицы покрытия и сводные метрики отчёта.
- Обновить опубликованные страницы портала одним согласованным набором изменений.
В тест-кейсах описывается ожидаемое бизнес-поведение. Временные состояния запуска, локальные блокеры и причины отключения тестов в тест-кейсы не входят.