@DreamTeam в данном модуле, отсутствует функция "Удалить текущий элемент".
Элемент можно удалить получив либо его индекс, либо по значению.
Помог откат до более ранней версии 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 ее сам поставит из модуля.
@mp4treiser said in Android Manager - модуль для управления android эмуляторами:
Но не все команды работают в Memu
SubprocessError: Процесс завершился с кодом: 255. Ошибка: "grep" �� ���� ����७��� ��� ���譥� ��������, �ᯮ��塞�� �ணࠬ��� ��� ������ 䠩���.
invalid session id: A session is either terminated or not startedСессия при этом жива
Первый пост, раздел FAQ посмотрите.
@armangm7 said in Android Manager - модуль для управления android эмуляторами:
Как узнать какие запросы отправляют BAS ?
В теории аргументы лога добавить при запуске сервера. Документация
Почему-то не работают клики по xpath и всё что с ним связано. Выдаёт такую ошибку: Поток №1 : unknown error: 'GET /wd/hub/session/e62f8cca-71d2-4585-997c-56dfd37f201b/source' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details
В аппиуме: [172db5aa][Logcat] Logcat terminated with code 255, signal null
[172db5aa][AndroidUiautomator2Driver@c828] [Instrumentation] io.appium.uiautomator2.server.test.AppiumUiAutomator2Server:
[172db5aa][AndroidUiautomator2Driver@c828] [Instrumentation] The process has exited with code 255, signal null
[172db5aa][HTTP] --> GET /wd/hub/session/172db5aa-c830-43c9-84d6-763743189e0a/source {}
[172db5aa][AndroidUiautomator2Driver@c828] Driver proxy active, passing request on via HTTP proxy
[172db5aa][HTTP] <-- GET /wd/hub/session/172db5aa-c830-43c9-84d6-763743189e0a/source 400 24 ms - 2477
[172db5aa][HTTP] --> GET /wd/hub/session/172db5aa-c830-43c9-84d6-763743189e0a/source {}
[172db5aa][AndroidUiautomator2Driver@c828] Driver proxy active, passing request on via HTTP proxy
[172db5aa][HTTP] <-- GET /wd/hub/session/172db5aa-c830-43c9-84d6-763743189e0a/source 400 3 ms - 2477
[172db5aa][HTTP] --> GET /wd/hub/session/172db5aa-c830-43c9-84d6-763743189e0a/source {}
[172db5aa][AndroidUiautomator2Driver@c828] Driver proxy active, passing request on via HTTP proxy
[172db5aa][HTTP] <-- GET /wd/hub/session/172db5aa-c830-43c9-84d6-763743189e0a/source 400 1 ms - 2477
[172db5aa][HTTP] --> GET /wd/hub/session/172db5aa-c830-43c9-84d6-763743189e0a/source {}
[172db5aa][AndroidUiautomator2Driver@c828] Driver proxy active, passing request on via HTTP proxy
[172db5aa][HTTP] <-- GET /wd/hub/session/172db5aa-c830-43c9-84d6-763743189e0a/source 400 1 ms - 2477
В Appium Inspectore всё работает к примеру.
пишу регер тиктока, делаю через эмулятор андроид. тут задача, нужно выбрать дату рождения из комбобокса в приложении, но как это сделать?
Подскажите пожалуйста, как можно решить капчу с пазлом и тд в эмуляторе? регаю тикток аккаунт, пробую разные модуль, приходит координата 0, либо ошибки
@koala said in Android Manager - модуль для управления android эмуляторами:
@thepappo добрый день!
Как можно связаться с Вами по поводу разработки скрипта?
Телеграм @shokoladny_zayac - только для заказов от $500. По вопросам, связанным с модулем, спрашивайте в этой ветке.
@thepappo Здравствуйте, подскажите в чем может быть проблема. Запускаю сервер командой -C:\Windows\system32>appium -a 127.0.0.1 -p 4723 --base-path /wd/hub, затем в bas "Запустить сервер" указываю тот же хост и порт.
Но при попытке запуска ошибка - [780964455] [01:23:28] Поток №1 : ServerConnectionError: Не удалось подключиться к серверу Appium за 3 попыток.
Переходил по ссылке в браузере - http://127.0.0.1:4723/wd/hub, результат с ошибкой -
{"status":9,"value":{"error":"unknown command","message":"The requested resource could not be found, or a request was received using an HTTP method that is not supported by the mapped resource","stacktrace":""}}.
Лог из командной строки -
C:\Windows\system32>appium -a 127.0.0.1 -p 4723 --base-path /wd/hub
[Appium] Welcome to Appium v2.12.1
[Appium] Non-default server args:
[Appium] {
address: '127.0.0.1',
basePath: '/wd/hub'
}
[Appium] The autodetected Appium home path: C:\Users\PakZ.appium
[Appium] Attempting to load driver uiautomator2...
[Appium] Requiring driver at C:\Users\PakZ.appium\node_modules\appium-uiautomator2-driver\build\index.js
[Appium] AndroidUiautomator2Driver has been successfully loaded in 0.849s
[Appium] Appium REST http interface listener started on http://127.0.0.1:4723/wd/hub
[Appium] Available drivers:
[Appium] - uiautomator2@3.8.1 (automationName 'UiAutomator2')
[Appium] No plugins have been installed. Use the "appium plugin" command to install the one(s) you want to use.
[HTTP] --> GET /wd/hub {}
[HTTP] No route found for /wd/hub
На гитхабе нашел обсуждение подобной ошибки, результат там был в том что человек неправильно указал пути в Переменных средах. У себя все перепроверял, переустанавливал результат такой же. Так же проверял все зависимости, все так же как на скринах в начале темы. Так же порт проверял другими процессами не занят, перезапускал. Ничего не помогло. Может знаете в чем может быть проблема.