Что пишет в лог?Никак не получается... Пробовал добавлять cap.SetCapability("noReset", "True");, пытался открывать разыне приложения на разных портах, ничего не помогает. Подскажите в какую сторону капать?
Что пишет в лог?Никак не получается... Пробовал добавлять cap.SetCapability("noReset", "True");, пытался открывать разыне приложения на разных портах, ничего не помогает. Подскажите в какую сторону капать?
Что пишет в лог?
А через ADB проходят команды?[debug] [MJSONWP (68d36df] Encountered internal error running command: Error: Android bootstrap socket crashed: Error: This socket has been ended by the other party
[debug] [MJSONWP (68d36df] at Socket.socketClient.on.err (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\bootstrap.js:97:21)
[debug] [MJSONWP (68d36df] at Socket.emit (events.js:189:13)
[debug] [MJSONWP (68d36df] at Socket.writeAfterFIN [as write] (net.js:399:
[debug] [MJSONWP (68d36df] at _bluebird.default (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\bootstrap.js:122:25)
[debug] [MJSONWP (68d36df] at Promise._execute (C:\Program Files (x86)\Appium\resources\app\node_modules\bluebird\js\release\debuggability.js:313:9)
[debug] [MJSONWP (68d36df] at Promise._resolveFromExecutor (C:\Program Files (x86)\Appium\resources\app\node_modules\bluebird\js\release\promise.js:483:1
[debug] [MJSONWP (68d36df] at new Promise (C:\Program Files (x86)\Appium\resources\app\node_modules\bluebird\js\release\promise.js:79:10)
[debug] [MJSONWP (68d36df] at AndroidBootstrap.sendCommand (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\bootstrap.js:118:1
[debug] [MJSONWP (68d36df] at AndroidBootstrap.sendAction (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\bootstrap.js:161:23)
[debug] [MJSONWP (68d36df] at AndroidDriver.helpers.doFindElementOrEls (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\commands\find.js:14:31)
[debug] [MJSONWP (68d36df] at doFind (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\commands\find.js:36:2
[debug] [MJSONWP (68d36df] at wrappedCondFn (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-base-driver\lib\basedriver\commands\timeout.js:157:1
[debug] [MJSONWP (68d36df] at C:\Program Files (x86)\Appium\resources\app\node_modules\asyncbox\lib\asyncbox.js:113:26
[debug] [MJSONWP (68d36df] at Generator.next (<anonymous>)
[debug] [MJSONWP (68d36df] at asyncGeneratorStep (C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:3:24)
[debug] [MJSONWP (68d36df] at _next (C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:25:9)
[debug] [MJSONWP (68d36df] at C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:32:7
[debug] [MJSONWP (68d36df] at new Promise (<anonymous>)
[debug] [MJSONWP (68d36df] at C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:21:12
[debug] [MJSONWP (68d36df] at spin (C:\Program Files (x86)\Appium\resources\app\node_modules\asyncbox\lib\asyncbox.js:112:11)
[debug] [MJSONWP (68d36df] at C:\Program Files (x86)\Appium\resources\app\node_modules\asyncbox\lib\asyncbox.js:126:16
[debug] [MJSONWP (68d36df] at Generator.next (<anonymous>)
[debug] [MJSONWP (68d36df] at asyncGeneratorStep (C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:3:24)
[debug] [MJSONWP (68d36df] at _next (C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:25:9)
[debug] [MJSONWP (68d36df] at C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:32:7
[debug] [MJSONWP (68d36df] at new Promise (<anonymous>)
[debug] [MJSONWP (68d36df] at C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:21:12
[debug] [MJSONWP (68d36df] at waitForCondition (C:\Program Files (x86)\Appium\resources\app\node_modules\asyncbox\build\lib\asyncbox.js:250:2
[debug] [MJSONWP (68d36df] at AndroidDriver.helpers.implicitWaitForCondition (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-base-driver\lib\basedriver\commands\timeout.js:159:16)
[debug] [MJSONWP (68d36df] at AndroidDriver.helpers.findElOrEls (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\commands\find.js:60:16)
[debug] [MJSONWP (68d36df] at AndroidDriver.helpers.findElOrElsWithProcessing (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-base-driver\lib\basedriver\commands\find.js:30:23)
[debug] [MJSONWP (68d36df] at AndroidDriver.commands.findElement (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-base-driver\lib\basedriver\commands\find.js:50:21)
[debug] [MJSONWP (68d36df] at curCommandCancellable._bluebird.default.resolve.then (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-base-driver\lib\basedriver\driver.js:291:1
[debug] [MJSONWP (68d36df] at tryCatcher (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-base-driver\node_modules\bluebird\js\main\util.js:26:23)
[HTTP] <-- POST /wd/hub/session/68d36df8-6895-4a25-9106-40f7698f6414/element 500 46 ms - 257[UiAutomator] UiAutomator exited unexpectedly with code 0, signal null
[debug] [UiAutomator] Moving to state 'stopped'
[debug] [AndroidDriver] Shutting down Android driver
[debug] [ADB] Running 'C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:21523 shell am force-stop org.proxydroid'
[Appium] Closing session, cause was 'UiAUtomator shut down unexpectedly'
[Appium] Removing session a001e0fa-6806-40b2-8eaf-d07c8cf3289e from our master session list
[debug] [ADB] Pressing the HOME button
[debug] [ADB] Running 'C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:21523 shell input keyevent 3'
[AndroidBootstrap] Cannot shut down Android bootstrap; it has already shut down
[debug] [Logcat] Stopping logcat capture
[debug] [ADB] Running 'C:\Program Files (x86)\Android\android-sdk\platform-tools\adb.exe -P 5037 -s 127.0.0.1\:21523 shell am force-stop io.appium.unlock'
[debug] [AndroidDriver] Not cleaning generated files. Add `clearSystemFiles` capability if wanted.An unknown server-side error occurred while processing the command. Original error: Android bootstrap socket crashed: Error: This socket has been ended by the other party
Да, через адб все команды проходят.А через ADB проходят команды?
https://github.com/appium/appium/issues/8384Да, через адб все команды проходят.
Попробуй накатать апиум десктоп пред послледнийДа, через адб все команды проходят.
можно это в нормальном отладчике запустить? visual studio, node, python? Пока не понятно, кто не работает, в связке ошибки или в настройках.Все также выдает ошибки
На чем запускаешь? и какая версия Андроида?Устанавливал 1.11.0, 1.10.0 Все также выдает ошибки
Ниже код который используется.
"C:/Program Files/nodejs/node.exe" "C:/Program Files (x86)/Appium/resources/app/node_modules/appium/build/lib/main.js" --address 127.0.0.1 --chromedriver-port 6006 --bootstrap-port 2296 --selendroid-port 8082 --no-reset --local-timezone -U 127.0.0.1:21523 -p 4725
"C:/Program Files/nodejs/node.exe" "C:/Program Files (x86)/Appium/resources/app/node_modules/appium/build/lib/main.js" --address 127.0.0.1 --chromedriver-port 6007 --bootstrap-port 2297 --selendroid-port 8083 --no-reset --local-timezone -U 127.0.0.1:21523 -p 4735DesiredCapabilities cap = new DesiredCapabilities(); // экземпляр класса настроек
cap.SetCapability("deviceName", "Insta"); // имя девайся (абсолютно любое)
cap.SetCapability("platformVersion", "4.4.4");// версия платформы (тоже любая)
cap.SetCapability("platformName", "Android");//имя платформы
cap.SetCapability("appPackage", "org.proxydroid"); // пространство имен используемое приложением
cap.SetCapability("appActivity", ".ProxyDroid"); // активное окно
cap.SetCapability("unicodeKeyboard", "true");
cap.SetCapability("noReset", "True");
AndroidDriver<IWebElement> driver = new AndroidDriver<IWebElement>(new Uri("http://127.0.0.1:4725/wd/hub"), cap);
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(600000));
driver.FindElementByXPath("//android.widget.Switch[@resource-id='android:id/switchWidget']").Click();
System.Threading.Thread.Sleep(3000);DesiredCapabilities cap2 = new DesiredCapabilities(); // экземпляр класса настроек
cap2.SetCapability("deviceName", "Insta3"); // имя девайся (абсолютно любое)
cap2.SetCapability("platformVersion", "4.4.4");// версия платформы (тоже любая)
cap2.SetCapability("platformName", "Android");//имя платформы
cap2.SetCapability("appPackage", "com.initechapps.growlr"); // пространство имен используемое приложением
cap2.SetCapability("appActivity", ".ui.AccountLoginActivity"); // активное окно
cap2.SetCapability("unicodeKeyboard", "true");
cap2.SetCapability("noReset", "True");
AndroidDriver<IWebElement> driver = new AndroidDriver<IWebElement>(new Uri("http://127.0.0.1:4735/wd/hub"), cap2); // инициализируем экземпляр класса драйвера с настроечками
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(600));
System.Threading.Thread.Sleep(4000);
driver.FindElementsByXPath("//android.widget.Button[contains(@resource-id, 'com.initechapps.growlr:id/login_button')]").First().Click();
memu. 4.4На чем запускаешь? и какая версия Андроида?
А откуда информация, что на одном эмуляторе (устройстве) одновременно будет запускаться и работать разные приложения?Никак не получается... Пробовал добавлять cap.SetCapability("noReset", "True");, пытался открывать разыне приложения на разных портах, ничего не помогает. Подскажите в какую сторону капать?
А откуда информация что одновременно? Написано несколько раз с начало включаем одно приложение, выполняем действие, включаем приложение 2, выполняем действие - это называется последовательно.А откуда информация, что на одном эмуляторе (устройстве) одновременно будет запускаться и работать разные приложения?
Аппиум в 1,10 идет без node, когда у меня был 1,10 тоже все чистилось, как поставил 1,4 (вроде) все заработало как из коробкиНикак не получается... Пробовал добавлять cap.SetCapability("noReset", "True");, пытался открывать разыне приложения на разных портах, ничего не помогает. Подскажите в какую сторону капать?
попробуй с начала очистить строкувопрос экспертам при команде SendKeys("") в приложении встает в строку ввода и тапает 3 раза, параметры не прописываются хоть как крути ' ' {} , у топикстартера такая же фигня по ходу.
спасибо за совет но чистка не помогла, я на телефоне слышу и вижу как несколько раз нажимается на поле ввода. в VB есть параметр н но он у меня не проходитпопробуй с начала очистить строку
Для этого нужно использовать:А откуда информация что одновременно? Написано несколько раз с начало включаем одно приложение, выполняем действие, включаем приложение 2, выполняем действие - это называется последовательно.
Спасибо тебе огромное. Теперь все хорошо работает.Для этого нужно использовать:
cap.SetCapability("appPackage", "com.microvirt.launcher"); // пространство имен используемое приложением
cap.SetCapability("appActivity", ".Launcher"); // активное окно
Этим кодом запускается лаунчер memu. На рабочем столе тыкаем необходимое приложение выполняем нужные действия и в конце нажимаем кнопку назад или домой и запускаем следующие приложение.
var text = project.Variables["chanel_name"].Value;
driver.FindElementsByClassName("android.widget.TextView").Where(f=> f.Text == 'project.Variables["chanel_name"].Value').First().Click();
А ты что, смог в целом всё это настроить чтоли? Подключил телефон к компу и управляешь его приложениями?!Подскажите пожалуйста как правильно должна выглядеть такая конструкция:
Это шутка?А ты что, смог в целом всё это настроить чтоли? Подключил телефон к компу и управляешь его приложениями?!
Нет, я серьёзно - несколько дней уже с этим мучаюсь, пытаюсь через bluestacks настроить работу, но ничего не получается. Потом попробовал через телефон - но дальше sdk дело не пошло((Это шутка?
Да, без особых проблем. На noxe и на телефоне.Нет, я серьёзно - несколько дней уже с этим мучаюсь, пытаюсь через bluestacks настроить работу, но ничего не получается. Потом попробовал через телефон - но дальше sdk дело не пошло((
Поэтому я и спросил, неужели у тебя вот всё получилось?
Попробуй:Подскажите пожалуйста как правильно должна выглядеть такая конструкция:
Нужно сделать поиск по атрибуту текст, который берется из переменнойКод:var text = project.Variables["chanel_name"].Value; driver.FindElementsByClassName("android.widget.TextView").Where(f=> f.Text == 'project.Variables["chanel_name"].Value').First().Click();
Вот так можно, если не нашло, то выходит по бэдуСкажите пожалуйста, а как отслеживать ошибки в кубике C#? То есть вот пишем мы команды мобильному приложению с использованием XPath, но на каком-то шаге элемент может быть не найден, и экшен выкатится в ошибку. А как знать, какой именно элемент не был найден? Хорошо, если бы для каждого действия можно было ставить проверку, существует элемент, или нет (перед тем как нажать). Можно ли как-то прописывать такую проверку?
var fname = driver.FindElement(By.XPath("//android.widget.TextView[contains(@resource-id, 'com.whatsapp.w4b:id/message_text')]")).GetAttribute("enabled");
project.SendInfoToLog(fname);
Спасибо, проверю!Вот так можно, если не нашло, то выходит по бэду
Код:var fname = driver.FindElement(By.XPath("//android.widget.TextView[contains(@resource-id, 'com.whatsapp.w4b:id/message_text')]")).GetAttribute("enabled"); project.SendInfoToLog(fname);
завершай полностью процесс, у себя такой проблемы не наблюдаюСпасибо, проверю!
Ещё вопрос: кто-нибудь знает, какой командой через батник можно снять с прослушивания порт 4723? Этот порт использует аппиум, запускаемый нодом через батник. Но по завершению работы порт остаётся занят, из-за чего и к телефону невозможно подключиться через adb shell, и к аппиуму новой версии. Кто знает, что с этим можно сделать?
Хороший вопрос. Дело в том, что заметил такую тему: аппиум последней версии (ну или без нода) открывает все приложения уже разлогинеными. А вот тот, который нод открывает - там всё ок, все куки сохраняются. От чего это зависит не знаю. И кстати, может ты знаешь как можно открывать аппиумом приложения, но при этом чтобы они не были разлогинены?и вопрос а зачем юзать нод с аппиумом 1,12, апп самодостаточен