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

Делитесь модулями
  • Обновил модуль в шапке темы. Зафиксирована версия webdriverio на 8.40.3. Последняя версия не работает с модулем.

  • @Shadow аналогичная ошибка у меня

  • @niktone такая же проблема, ты решил ее как то?

  • @damsy, можно попробовать обойти проблему таким способом. Насколько помню, месяц назад я нашел такой костыль: сначала разрываешь соединение между BAS и эмулятором. Затем в Drony нажимаешь кнопку проксификации.

    Возможно, ты замечал, что иногда порвано соединения между BAS и эмулятором, но некоторые кубики для кликов, всё равно работают. Этим можно и воспользоваться. Парадоксально, но работает даже после разрыва соединения.

    Итак, делаем такой разрыв соединения, запускаем проксификацию эмулятора (клик в дрони на запуск проксификации), и только потом восстанавливаем соединение, снова используя модуль этот модуль, чтобы BAS подключился к эмулятору. и вуа-ля у нас эмуль уже работает через прокси и коннект присутствует между бас и эмулём

  • This post is deleted!
  • Все установил, пути в переменных средах прописал, apprium запустил https://i.imgur.com/PKYoqoN.png. Но появляется ошибка "Не удалось установить npm модули" https://i.imgur.com/ZUW2XvL.png с подключенным модулем android менеджер. Версия программы 25.4.1
    Помогите разобраться.

  • Как в итоге запустить многопоток, чтобы создавалось более 1 эмулятора? Например, на машине есть 10 плеер от LDplayer. Может где-то тут есть, ткните, плз. За 2 года листал-листал, не заметил)

  • image.png
    Бас только очищает поле с текстом но не вводит новые данные, что может быть не так ? Эмулятор МЕМУ версии 7.1.1 Андроид 7х64

    upd: удалось ввести через adb shell input text "text" но все таки интересно отчего не работает через модуль

  • @c3p0oh Какая у вас прилка проксификации Android?

  • @Nikolas sagernet, добавлю что с ней тоже не все гладко. У меня не работает импорт профиля через буфер обмена, приходится возиться с заполнением кликами..

  • Привет
    Вчера всё работало норм, сегодня получаю такую ошибку
    (node:25160) [DEP0040] DeprecationWarning: The punycode module is deprecated. Please use a userland alternative instead.
    (Use node --trace-deprecation ... to show where the warning was created)
    image.png

    image.png

  • Помог откат до более ранней версии Node JS 20.17.0

    Но не все команды работают в Memu
    SubprocessError: Процесс завершился с кодом: 255. Ошибка: "grep" �� ���� ����७��� ��� ���譥� ��������, �ᯮ��塞�� �ணࠬ��� ��� ������ 䠩���.
    invalid session id: A session is either terminated or not started

    Сессия при этом жива

  • Постоянно вылетает "invalid session id: A session is either terminated or not started" - как с этим бороться?

  • @mp4treiser увеличить сессию (ожидание следующего действия)

  • This post is deleted!
  • @RIDE12 итак увеличивал уже неоднократно

    Написал библиотеку для управления эмуляторами - создание, ренейм, уникализация и т.д.
    Оказалось зря потраченное время

    Воспользовался zennodroid, т.к. не готов использовать настолько жёсткий костыль)

  • Есть решение hcaptcha для android? Интернет облазил - не помогает:(

  • Вручную запускаю appium сервер из командный строки
    appium -a 127.0.0.1 -p 4723 --base-path /wd/hub
    в BAS-е выполняют действия "Запустить сервер" (127.0.0.1:4723)
    и после этого "Подключиться к устройству" (127.0.0.1:21503)(Memu emulator),
    получаю следующую ошибку.

    Error: Failed to create session. WebDriverError: Request failed with error code UND_ERR_INVALID_ARG when running "http://localhost:4723/wd/hub/session" with method "POST" and args "{"capabilities":{"alwaysMatch":{"platformName":"android","appium:udid":"127.0.0.1:21503","appium:automationName":"UiAutomator2","appium:newCommandTimeout":300000},"firstMatch":[{}]}}"

    до переустановки Windows всё работало нормально.

    Все шаги в инструкции перепроверил несколько раз, сейчас корректно работает Appium inspector, получаю локаторы элементов и могу кликнуть по элементу используя локаторы. то есть Appium корректно взаимодействует и с эмулятором и с реальным телефоном.

    Но в BAS-е получаю ошибку.

    Подскажите пожалуйста, в чём может быть причина ?

  • Попробовал запустить эту же команду через Curl.

    curl -X POST http://127.0.0.1:4723/wd/hub/session ^
    -H "Content-Type: application/json" ^
    -d "{"capabilities":{"alwaysMatch":{"platformName":"android","appium:udid":"127.0.0.1:21503","appium:automationName":"UiAutomator2","appium:newCommandTimeout":300000},"firstMatch":[{}]}}"

    и получил ответ
    {"value":{"capabilities":{"platformName":"android","udid":"127.0.0.1:21503","automationName":"UiAutomator2","newCommandTimeout":300000,"platform":"LINUX","webStorageEnabled":false,"takesScreenshot":true,"javascriptEnabled":true,"databaseEnabled":false,"networkConnectionEnabled":true,"locationContextEnabled":false,"warnings":{},"desired":{"platformName":"android","udid":"127.0.0.1:21503","automationName":"UiAutomator2","newCommandTimeout":300000},"deviceName":"127.0.0.1:21503","deviceUDID":"127.0.0.1:21503","pixelRatio":"1.49375","statBarHeight":36,"viewportRect":{"left":0,"top":36,"width":720,"height":1244},"deviceApiLevel":28,"platformVersion":"9","deviceManufacturer":"samsung","deviceModel":"SM-G935F","deviceScreenSize":"720x1280","deviceScreenDensity":239},"sessionId":"41c28e8c-7ab8-4f7b-a164-8248d2a4ba87"}}

    Это означает, что сессия успешно создана, и запрос через curl был выполнен корректно.

    Ответ содержит информацию о сессии и устройстве, в том числе:

    platformName: "android"
    udid: "127.0.0.1:21503"
    deviceModel: "SM-G935F" (устройство эмулирует Samsung Galaxy S7)
    platformVersion: "9" (Android 9)
    sessionId: уникальный идентификатор сессии.

    Таким образом, Appium корректно работает через curl, и проблема, скорее всего, связана с тем, как BAS отправляет запросы.

    Как узнать какие запросы отправляют BAS ?

  • Разобрался.
    Установил webdriverio@8.40.3 и изменил AndroidManager.zip из первого поста и все заработало.
    Огромное спасибо за модуль.