Мобильные приложения на 1С становятся сложнее – и усложняется задача по их тестированию.
С другой стороны, современные технологии Git + 1C:EDT и автотестирование, которое появилось в новой мобильной платформе 8.3.20, могут значительно облегчить процесс разработки на мобильной платформе. Причем 1C:EDT идеально подходит для мобильных решений, так как с конфигурациями такого размера справляется мгновенно.
Однако есть проблема – и она не техническая. Есть банальный дефицит понимания и сумма мифов:
- 1C:EDT плохо работает с мобильной платформой, так как 1C:EDT до сих пор не может ее установить через adb
- В 1C:EDT есть проблемы с отладкой мобильных приложений
- В 1C:EDT нет представления мобильных форм
А в части автотестов:
- Накликивать на устройстве тесты неудобно
- Нет инструмента тестирования с поддержкой мобильной платформы
- Не получится тестировать интерактивный функционал, например, проверить, что фото делается/сделалось, или проверить отмену фото.
И дальше будут в основном производные от этих «истин».
А что, если это не совсем так? :)
В этих двух видео мы разберем эти утверждения и попробуем расставить все точки над «Ё» :)
Видео № 1
Как сделать УДОБНОЙ разработку на базе мобильной платформы в 1C:EDT
В этом видео Дмитрий (IRP Team) расскажет, как:
- Подключить мобильное устройство в режиме отладки по Wi-Fi
- Отображается экран устройства внутри 1C:EDT
- Решить проблемы, связанные с отладкой
- Сэкономить место, «убедив» 1C:EDT, что установлена полноценная Android SDK (EDT по умолчанию требует SDK, которое весит 3 Gb – покажем, что это не обязательно).
Тайминг ключевых моментов видео
02:05 – добавление мобильной платформы в 1C:EDT и подстановка adb без SDK
05:10 – подключение мобильного устройства в режиме дебаг через WiFi
10:10 – создание конфигурации отладки мобильного приложения
12:54 – установка приложения через adb
15:53 – отображение нашего реального устройства внутри 1C:EDT
16:39 – решение проблем, связанных с отладкой мобильных устройств в 1C:EDT
21:10 – выводы.
Видео № 2
Как протестировать приложение на мобильной платформе 1С
В этом видео Наталья из команды (IRP Team) покажет, как:
- Подключить Android эмулятор как тест клиент
- Настроить VA для работы с мобильными устройствами
- Выполнить запись сценария, накликивая его в эмуляторе мышкой
- Воспроизвести сценарий при помощи VA на мобильном клиенте
- Воспроизвести сценарий на мобильной платформе
- Написать тест создания фотографии камерой устройства (интерактивное взаимодействие с камерой).
Тайминг ключевых моментов видео
02:45 – цикл тестов для мобильных устройств
03:49 – особенности окружения
05:38 – создание и запуск тестового сценария
07:45 – решение проблемы интерактивного взаимодействия
10:15 – отчет о выполнении тестов.
Необходимые настройки
Сейчас в платформе есть ошибки фичи, поэтому надо придерживаться следующих настроек:
- В базе менеджера тестирования не должно быть пользователей. Вообще никаких, даже без пароля. Как следствие, чтобы работала VA, надо прописать в файле C:\Program Files\1cv8\conf\conf.cfg строку DisableUnsafeActionProtection=.*
- Порт тестирования должен быть 1538, на другом работать не будет.
Полезные инструменты, упомянутые в видео
Screen Stream over HTTP: https://play.google.com/store/apps/details?id=info.dvkr.screenstream
Scrcpy: https://github.com/Genymobile/scrcpy
Выводы
Если вы работаете с мобильной платформой – это прямо удобный шанс перейти на современные технологий.
В случае стационарной 1С покрыть код тестами и поддерживать их актуальными или сразу всем отделом перепрыгнуть на 1C:EDT – задача нетривиальная, а покрыть тестами мобильный функционал, вести в 1C:EDT разработку небольшой конфигурации и потихоньку писать маленькие скрипты сборки (или брать готовые) на oscript – это значительно проще.
И «выхлоп» будет чуть ли не через пару дней, после первого же пойманного автотестами бага :)
Добрый день
Уловка с созданием папки tools и файлом emulator.exe из текстового документа не работает. Версия EDT = eclipse.buildId=2023.2.4.6
Давайте разбираться вместе. Что пишет? Или что происходит/не происходит при запуске?
Когда заходим Окно – параметры – V8 – 1C: Предприятие -Версии мобильной платформы (на этом этапе мобильная платформа указана) – Настройки Android – Указываю расположения Платформ тулс и создал папку tools и текстовый файл emulator.exe (изменил расширение) и получаю Android SDK не удалось найти по указанному пути как в видео на 3 минуте 17 секунде.
https://xn—-1-bedvffifm4g.xn--p1ai/news/2021-12-17-edt-and-autotests-for-1c-mobile-dev/
В целом из ситуации вышел установил Android sdk полную версию :), и заработало.
Автора видео, звать Дмитрий ? Верно помню ? Привет ему :)
За запуск сервера отладки Дмитрию отдельное спасибо :).
Теперь актуальный вопрос а может быть сделали каким то образом поддержку отображения форм мобильной платформы в EDT ? Что бы видеть телефон и положения элементов на форме ?
На сколько мне известно – пока нет. Хотя, казалось бы странным. Вот что что, а мобильные конфигурации на ЕДТ крутить было бы вообще отлично.
Продолжим беседу :).
Мобильное приложение на устройстве обновляется как то не стабильно. Зачастую код в EDT уже другой отладчик по идёт по строчкам кода но как будто видит старые строчки кода.
В EDT в журнале ошибок есть ошибки, предположительно в связи с установкой Android SDK теперь не корректно работает JDK BellSoft,
An extension already exists with id “org.eclipse.wst.server.ui.ServersView.content.root”.
EDT и JDK BellSoft уже переустанавливал.
Ищу варианты что еще поделать. Может есть варианты?
Тут сложный вопрос, вы же конфу обновляете через usb? я обычно делаю через публикацию, и там такого вроде не замечал. Хотя, справедливости ради – давненько я уже ничего не делал на мобильной платформе, в основном мобильный клиент.