Android Manager - модуль для управления android эмуляторами

Делитесь модулями
  • Еще при использовании UI Automator Viewer, заметил что он не может снять дамп пока BAS подключен к эмулятору, приходится переподключаться в консоли, снимать дамп и потом снова подключаться в BAS.

    А так, в целом модуль мне нравится, основное вроде как работает, да некоторые детали нужно допилить и еще есть определенные сложности с первоначальной настройкой (хотя может и мне так повезло).

  • Может кто сталкивался с проблемой вообще нет отклика на adb, в основной консоли cmd, установил android SDK, вроде всё настроил но как такового отклика нет, только если через консоль nox'a
    76a4aea1-4638-460c-8590-5f567f9435aa-image.png

  • @spacerange said in AndroidManager - модуль для управления android эмуляторами:

    В appium-doctor у меня почему - то не было JAVA HOME, прописал вручную, ничего не дало.

    Там не все версии Java вроде работают. У меня такая openjdk-8u282-b08. В папке с установленной джавой должна быть папка bin. Вот так выглядит:

    Screenshot_1.png

    @spacerange said in AndroidManager - модуль для управления android эмуляторами:

    Еще при использовании UI Automator Viewer, заметил что он не может снять дамп пока BAS подключен к эмулятору, приходится переподключаться в консоли, снимать дамп и потом снова подключаться в BAS.

    Да, есть такая проблема. По ходу вьювер и либа используют один и тот же порт для подключения. На новой версии такого не будет.

  • @BoToH4Nk переменные окружения ANDROID_HOME и JAVA_HOME установлены? Если да, перезапустите ПК. Винда их только после перезагрузки видит.


  • Версия 2.0

    Основное изменение данной версии - это переход на Appium, который использует драйвер uiautomator2 для отправки команд на эмуляторы. Appium используется для всех действий, связанных с взаимодействием с элементами по xpath, а также для действий "Подключиться к устройству" (создается сессия указанного устройства по серийному номеру на сервере), "Отключиться от устройства", "Сделать скриншот", "Открыть панель уведомлений" и "Получить XML дамп".

    За счет использования аппиума теперь работает многопоток.


    Другие изменения:

    1. Node js обновлен до версии 18.10.0.
    2. Удалены действия:
      "Информация об устройстве" - в аппиуме нет метода для этого действия, при этом не понятно, какие настройки устройства нужно собирать.
    3. Добавлены действия:
      "Запустить сервер";
      "Остановить сервер";
      "Установлено ли приложение";
      "Запущено ли приложение";
      "Открыть панель уведомлений".
    4. Изменены настройки действий:
      "Подключиться к устройству" - все поля, кроме "Серийный номер" были удалены. Добавлен переключатель "Настроить устройство";
      "Сделать скриншот" - удалены поля "Качество изображения" и "Метод сохранения на устройстве" (appium не позволяет выбирать качество и сам выбирает папку для сохранения на устройстве).
    5. Для следующих действий параметр "Число шагов" изменен на "Продолжительность, мс":
      "Долгий клик по xpath";
      "Долгий клик по координатам";
      "Свайпнуть по экрану".
    6. Исправлена ошибка в действии "Скролл к элементу". Если в направлении скролла было выбрано "влево" или "вправо", то скролл осуществлялся вниз.
    7. Для действий, требующих ожидания, теперь передаются таймауты в Node js из настроек.

    Добавил инструкцию по установке и началу работы в шапку темы.
    Добавил обновленный шаблон для версии 2.0 в качестве примера.

  • @thepappo Спасибо огромное!

  • кто может написать с этим модулем простейший регер для андроид приложения? нужно всего лишь открыть приложение,ввести номер телефона.нажать кнопку реги.выскакивает капча простая цифровая.рещаем ее через сервис. пощел таймер ожидания смс верификации. все.ничего сохранять не нужно.завершать регу Не нужно. кто поможет??! с меня большое пиво!

  • @alex911 я могу написать, но не за пиво ). Цены и описание тут.

  • @thepappo 40к. шутишь?!)) ну явно не под мои цели

  • @alex911 said in Android Manager - модуль для управления android эмуляторами:

    кто может написать с этим модулем простейший регер для андроид приложения? нужно всего лишь открыть приложение,ввести номер телефона.нажать кнопку реги.выскакивает капча простая цифровая.рещаем ее через сервис. пощел таймер ожидания смс верификации. все.ничего сохранять не нужно.завершать регу Не нужно. кто поможет??! с меня большое пиво!

    Тема для заказов находится вот здесь: https://community.bablosoft.com/category/30/заказать-скрипт


  • Версия 2.1

    Исправлена ошибка в действии "Получить текущее активити". Вместо активити в результат сохранялось название приложения.

  • Сделал блок подключенных устройств вышло "127.0.0.1:21853". При выполнении других действий треубется серийный номер устройства, получаемый из девайс_лист. Выбираю свое устройство и выходит ошибка:Поток №1 : DeviceIsNotRunningError: Устройство 127.0.0.1:21853 не найдено или находится оффлайн

  • @makasin_402 приложите скрин действий, где вы подключаетесь к устройству, или сам шаблон.

  • @makasin_402 действие "Получить список устройств" нужно для того чтобы затем обработать его в цикле FOREACH и на каждой итерации цикла выполнить в начале действие "Подключиться к устройству", куда передать в параметр "Серийный номер" FOREACH_DATA. Это я пишу, потому что у многих с этим вопросы.

    В вашем случае действие "Получить текущее активити" не требует запускать сервер и подключаться к устройству, т.к. выполняется отправкой команды к adb. Попробуйте в начале выполнить команду:

    adb connect SERIAL_NUMBER
    

    Вместо SERIAL_NUMBER - ваш серийник. Либо используйте эмулятор Memu, там такой проблемы нет.

  • @thepappo Как можете увидеть по скрину, я пользуюсь как раз таки MEMU. А что имеется в виду под серийным номером? Тот ip:port, который указывается после выполнения adb devices, это и есть серийник?

  • @makasin_402 said in Android Manager - модуль для управления android эмуляторами:

    Тот ip:port, который указывается после выполнения adb devices, это и есть серийник?

    да


  • Версия 2.2

    Добавлено действие "Решить ReCaptcha v2". С помощью него можно автоматически решать капчу ReCaptcha v2. Язык устройства должен быть русским или английским, чтобы капча отображалась на одном из этих языков.

    Капча решается кликами через сервисы:

  • This post is deleted!
  • @thepappo Тогда я от слова совсем не понимаю, что я делаю не так...

    Смотрите, объясню как я понимаю, исправьте пожалуйста где я неправ.
    Для работы/создания скрипта должен быть включен эмулятор.

    1.Первым действием всегда нужно запускать сервер, иначе ни одна команда не будет работать(кроме списка подключенных устройств). Проверил это, поставив одно из действий вперед текущего- выходит ошибка что нужно вначале запустить сервер
    2. Вторым действием, по моей логике, должно идти "Подключенные устройства", чтобы выцепить серийник, а не вводить его вручную.
    3. Третьим действием, нужно подлючиться к устройству(хз надо ли или нет, так это устройство уже находится в ПОДКЛЮЧЕННЫХ)
    4. Четвертным действием, я хочу получить текущее активити(если я правильно понял, то это приложение запущенное(открытое) на данный момент в окне эмулятора).

    На 3 шаге как раз таки выходит ошибка: DeviceIsNotRunningError: Устройство 127.0.0.1:21853 не найдено или находится оффлайн. Хоть оно онлайн, и как бы открыто у меня)

    Объясните мне, тому у кого сегодня лыжи не едут, что я делаю не так и почему эта ошибка выходит?

    Доп. вопрос: Может быть нужно в переменных средах указать путь к эмулятору? Если да, то подскажите как и куда