@DreamTeam в данном модуле, отсутствует функция "Удалить текущий элемент".
Элемент можно удалить получив либо его индекс, либо по значению.
@damsy, можно попробовать обойти проблему таким способом. Насколько помню, месяц назад я нашел такой костыль: сначала разрываешь соединение между BAS и эмулятором. Затем в Drony нажимаешь кнопку проксификации.
Возможно, ты замечал, что иногда порвано соединения между BAS и эмулятором, но некоторые кубики для кликов, всё равно работают. Этим можно и воспользоваться. Парадоксально, но работает даже после разрыва соединения.
Итак, делаем такой разрыв соединения, запускаем проксификацию эмулятора (клик в дрони на запуск проксификации), и только потом восстанавливаем соединение, снова используя модуль этот модуль, чтобы BAS подключился к эмулятору. и вуа-ля у нас эмуль уже работает через прокси и коннект присутствует между бас и эмулём
Все установил, пути в переменных средах прописал, apprium запустил https://i.imgur.com/PKYoqoN.png. Но появляется ошибка "Не удалось установить npm модули" https://i.imgur.com/ZUW2XvL.png с подключенным модулем android менеджер. Версия программы 25.4.1
Помогите разобраться.
Привет
Вчера всё работало норм, сегодня получаю такую ошибку
(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)


Помог откат до более ранней версии 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 увеличить сессию (ожидание следующего действия)
@RIDE12 итак увеличивал уже неоднократно
Написал библиотеку для управления эмуляторами - создание, ренейм, уникализация и т.д.
Оказалось зря потраченное время
Воспользовался zennodroid, т.к. не готов использовать настолько жёсткий костыль)
Вручную запускаю 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 ?
@armangm7 said in Android Manager - модуль для управления android эмуляторами:
Установил webdriverio@8.40.3 и изменил AndroidManager.zip из первого поста и все заработало.
Странно, я уже давно поменял версию в модуле, о чем писал вот тут. В настройках шаблона webdriverio тоже устанавливать не надо, BAS ее сам поставит из модуля.