4 место Управление любыми Android приложениями на смартфоне из ZP

Никак не получается... Пробовал добавлять cap.SetCapability("noReset", "True");, пытался открывать разыне приложения на разных портах, ничего не помогает. Подскажите в какую сторону капать?
Что пишет в лог?
 
Что пишет в лог?
[debug] [MJSONWP (68d36df8)] Encountered internal error running command: Error: Android bootstrap socket crashed: Error: This socket has been ended by the other party
[debug] [MJSONWP (68d36df8)] at Socket.socketClient.on.err (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\bootstrap.js:97:21)
[debug] [MJSONWP (68d36df8)] at Socket.emit (events.js:189:13)
[debug] [MJSONWP (68d36df8)] at Socket.writeAfterFIN [as write] (net.js:399:8)
[debug] [MJSONWP (68d36df8)] at _bluebird.default (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\bootstrap.js:122:25)
[debug] [MJSONWP (68d36df8)] at Promise._execute (C:\Program Files (x86)\Appium\resources\app\node_modules\bluebird\js\release\debuggability.js:313:9)
[debug] [MJSONWP (68d36df8)] at Promise._resolveFromExecutor (C:\Program Files (x86)\Appium\resources\app\node_modules\bluebird\js\release\promise.js:483:18)
[debug] [MJSONWP (68d36df8)] at new Promise (C:\Program Files (x86)\Appium\resources\app\node_modules\bluebird\js\release\promise.js:79:10)
[debug] [MJSONWP (68d36df8)] at AndroidBootstrap.sendCommand (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\bootstrap.js:118:18)
[debug] [MJSONWP (68d36df8)] at AndroidBootstrap.sendAction (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\bootstrap.js:161:23)
[debug] [MJSONWP (68d36df8)] at AndroidDriver.helpers.doFindElementOrEls (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\commands\find.js:14:31)
[debug] [MJSONWP (68d36df8)] at doFind (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\commands\find.js:36:28)
[debug] [MJSONWP (68d36df8)] at wrappedCondFn (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-base-driver\lib\basedriver\commands\timeout.js:157:18)
[debug] [MJSONWP (68d36df8)] at C:\Program Files (x86)\Appium\resources\app\node_modules\asyncbox\lib\asyncbox.js:113:26
[debug] [MJSONWP (68d36df8)] at Generator.next (<anonymous>)
[debug] [MJSONWP (68d36df8)] at asyncGeneratorStep (C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:3:24)
[debug] [MJSONWP (68d36df8)] at _next (C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:25:9)
[debug] [MJSONWP (68d36df8)] at C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:32:7
[debug] [MJSONWP (68d36df8)] at new Promise (<anonymous>)
[debug] [MJSONWP (68d36df8)] at C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:21:12
[debug] [MJSONWP (68d36df8)] at spin (C:\Program Files (x86)\Appium\resources\app\node_modules\asyncbox\lib\asyncbox.js:112:11)
[debug] [MJSONWP (68d36df8)] at C:\Program Files (x86)\Appium\resources\app\node_modules\asyncbox\lib\asyncbox.js:126:16
[debug] [MJSONWP (68d36df8)] at Generator.next (<anonymous>)
[debug] [MJSONWP (68d36df8)] at asyncGeneratorStep (C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:3:24)
[debug] [MJSONWP (68d36df8)] at _next (C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:25:9)
[debug] [MJSONWP (68d36df8)] at C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:32:7
[debug] [MJSONWP (68d36df8)] at new Promise (<anonymous>)
[debug] [MJSONWP (68d36df8)] at C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:21:12
[debug] [MJSONWP (68d36df8)] at waitForCondition (C:\Program Files (x86)\Appium\resources\app\node_modules\asyncbox\build\lib\asyncbox.js:250:28)
[debug] [MJSONWP (68d36df8)] 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 (68d36df8)] at AndroidDriver.helpers.findElOrEls (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\commands\find.js:60:16)
[debug] [MJSONWP (68d36df8)] 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 (68d36df8)] 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 (68d36df8)] at curCommandCancellable._bluebird.default.resolve.then (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-base-driver\lib\basedriver\driver.js:291:18)
[debug] [MJSONWP (68d36df8)] 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
 
[debug] [MJSONWP (68d36df8-)] Encountered internal error running command: Error: Android bootstrap socket crashed: Error: This socket has been ended by the other party
[debug] [MJSONWP (68d36df8-)] at Socket.socketClient.on.err (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\bootstrap.js:97:21)
[debug] [MJSONWP (68d36df8-)] at Socket.emit (events.js:189:13)
[debug] [MJSONWP (68d36df8-)] at Socket.writeAfterFIN [as write] (net.js:399:8-)
[debug] [MJSONWP (68d36df8-)] at _bluebird.default (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\bootstrap.js:122:25)
[debug] [MJSONWP (68d36df8-)] at Promise._execute (C:\Program Files (x86)\Appium\resources\app\node_modules\bluebird\js\release\debuggability.js:313:9)
[debug] [MJSONWP (68d36df8-)] at Promise._resolveFromExecutor (C:\Program Files (x86)\Appium\resources\app\node_modules\bluebird\js\release\promise.js:483:18-)
[debug] [MJSONWP (68d36df8-)] at new Promise (C:\Program Files (x86)\Appium\resources\app\node_modules\bluebird\js\release\promise.js:79:10)
[debug] [MJSONWP (68d36df8-)] at AndroidBootstrap.sendCommand (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\bootstrap.js:118:18-)
[debug] [MJSONWP (68d36df8-)] at AndroidBootstrap.sendAction (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\bootstrap.js:161:23)
[debug] [MJSONWP (68d36df8-)] at AndroidDriver.helpers.doFindElementOrEls (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\commands\find.js:14:31)
[debug] [MJSONWP (68d36df8-)] at doFind (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\commands\find.js:36:28-)
[debug] [MJSONWP (68d36df8-)] at wrappedCondFn (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-base-driver\lib\basedriver\commands\timeout.js:157:18-)
[debug] [MJSONWP (68d36df8-)] at C:\Program Files (x86)\Appium\resources\app\node_modules\asyncbox\lib\asyncbox.js:113:26
[debug] [MJSONWP (68d36df8-)] at Generator.next (<anonymous>)
[debug] [MJSONWP (68d36df8-)] at asyncGeneratorStep (C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:3:24)
[debug] [MJSONWP (68d36df8-)] at _next (C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:25:9)
[debug] [MJSONWP (68d36df8-)] at C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:32:7
[debug] [MJSONWP (68d36df8-)] at new Promise (<anonymous>)
[debug] [MJSONWP (68d36df8-)] at C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:21:12
[debug] [MJSONWP (68d36df8-)] at spin (C:\Program Files (x86)\Appium\resources\app\node_modules\asyncbox\lib\asyncbox.js:112:11)
[debug] [MJSONWP (68d36df8-)] at C:\Program Files (x86)\Appium\resources\app\node_modules\asyncbox\lib\asyncbox.js:126:16
[debug] [MJSONWP (68d36df8-)] at Generator.next (<anonymous>)
[debug] [MJSONWP (68d36df8-)] at asyncGeneratorStep (C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:3:24)
[debug] [MJSONWP (68d36df8-)] at _next (C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:25:9)
[debug] [MJSONWP (68d36df8-)] at C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:32:7
[debug] [MJSONWP (68d36df8-)] at new Promise (<anonymous>)
[debug] [MJSONWP (68d36df8-)] at C:\Program Files (x86)\Appium\resources\app\node_modules\@babel\runtime\helpers\asyncToGenerator.js:21:12
[debug] [MJSONWP (68d36df8-)] at waitForCondition (C:\Program Files (x86)\Appium\resources\app\node_modules\asyncbox\build\lib\asyncbox.js:250:28-)
[debug] [MJSONWP (68d36df8-)] 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 (68d36df8-)] at AndroidDriver.helpers.findElOrEls (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-android-driver\lib\commands\find.js:60:16)
[debug] [MJSONWP (68d36df8-)] 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 (68d36df8-)] 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 (68d36df8-)] at curCommandCancellable._bluebird.default.resolve.then (C:\Program Files (x86)\Appium\resources\app\node_modules\appium-base-driver\lib\basedriver\driver.js:291:18-)
[debug] [MJSONWP (68d36df8-)] 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 проходят команды?
 
Устанавливал 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 4735
DesiredCapabilities 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();
 
  • Спасибо
Реакции: udder
Устанавливал 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 4735
DesiredCapabilities 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();
На чем запускаешь? и какая версия Андроида?
 
Никак не получается... Пробовал добавлять cap.SetCapability("noReset", "True");, пытался открывать разыне приложения на разных портах, ничего не помогает. Подскажите в какую сторону капать?
А откуда информация, что на одном эмуляторе (устройстве) одновременно будет запускаться и работать разные приложения?
 
А откуда информация, что на одном эмуляторе (устройстве) одновременно будет запускаться и работать разные приложения?
А откуда информация что одновременно? Написано несколько раз с начало включаем одно приложение, выполняем действие, включаем приложение 2, выполняем действие - это называется последовательно.
 
может кто разобрался при
Никак не получается... Пробовал добавлять cap.SetCapability("noReset", "True");, пытался открывать разыне приложения на разных портах, ничего не помогает. Подскажите в какую сторону капать?

Аппиум в 1,10 идет без node, когда у меня был 1,10 тоже все чистилось, как поставил 1,4 (вроде) все заработало как из коробки
 
вопрос экспертам при команде SendKeys("") в приложении встает в строку ввода и тапает 3 раза, параметры не прописываются хоть как крути ' ' {} , у топикстартера такая же фигня по ходу.
 
вопрос экспертам при команде SendKeys("") в приложении встает в строку ввода и тапает 3 раза, параметры не прописываются хоть как крути ' ' {} , у топикстартера такая же фигня по ходу.
попробуй с начала очистить строку
 
попробуй с начала очистить строку
спасибо за совет но чистка не помогла, я на телефоне слышу и вижу как несколько раз нажимается на поле ввода. в VB есть параметр н но он у меня не проходит
 
А откуда информация что одновременно? Написано несколько раз с начало включаем одно приложение, выполняем действие, включаем приложение 2, выполняем действие - это называется последовательно.
Для этого нужно использовать:

cap.SetCapability("appPackage", "com.microvirt.launcher"); // пространство имен используемое приложением
cap.SetCapability("appActivity", ".Launcher"); // активное окно

Этим кодом запускается лаунчер memu. На рабочем столе тыкаем необходимое приложение выполняем нужные действия и в конце нажимаем кнопку назад или домой и запускаем следующие приложение.
 
  • Спасибо
Реакции: lustVVV
Для этого нужно использовать:

cap.SetCapability("appPackage", "com.microvirt.launcher"); // пространство имен используемое приложением
cap.SetCapability("appActivity", ".Launcher"); // активное окно

Этим кодом запускается лаунчер memu. На рабочем столе тыкаем необходимое приложение выполняем нужные действия и в конце нажимаем кнопку назад или домой и запускаем следующие приложение.
Спасибо тебе огромное. Теперь все хорошо работает.
 
  • Спасибо
Реакции: smotrimail
Подскажите пожалуйста как правильно должна выглядеть такая конструкция:
Код:
Развернуть Свернуть Копировать
var text = project.Variables["chanel_name"].Value;
driver.FindElementsByClassName("android.widget.TextView").Where(f=> f.Text == 'project.Variables["chanel_name"].Value').First().Click();
Нужно сделать поиск по атрибуту текст, который берется из переменной
 
Подскажите пожалуйста как правильно должна выглядеть такая конструкция:
А ты что, смог в целом всё это настроить чтоли? Подключил телефон к компу и управляешь его приложениями?!o_O
 
Нет, я серьёзно - несколько дней уже с этим мучаюсь, пытаюсь через bluestacks настроить работу, но ничего не получается. Потом попробовал через телефон - но дальше sdk дело не пошло((
Поэтому я и спросил, неужели у тебя вот всё получилось?
 
L
Нет, я серьёзно - несколько дней уже с этим мучаюсь, пытаюсь через bluestacks настроить работу, но ничего не получается. Потом попробовал через телефон - но дальше sdk дело не пошло((
Поэтому я и спросил, неужели у тебя вот всё получилось?
Да, без особых проблем. На noxe и на телефоне.
Все ошибки гуглятся на изи. Могу подсказать
 
  • Спасибо
Реакции: avtostopshik
Подскажите пожалуйста как правильно должна выглядеть такая конструкция:
Код:
Развернуть Свернуть Копировать
var text = project.Variables["chanel_name"].Value;
driver.FindElementsByClassName("android.widget.TextView").Where(f=> f.Text == 'project.Variables["chanel_name"].Value').First().Click();
Нужно сделать поиск по атрибуту текст, который берется из переменной

Попробуй:
var text = project.Variables["chanel_name"].Value;
driver.FindElementsByClassName("android.widget.TextView").First(f=>f.Text == ""+text+"").Click();
 
  • Спасибо
Реакции: Shytov
Подскажите, как в данном варианте вместо 'Первое' использовать переменную?
Код:
Развернуть Свернуть Копировать
driver.FindElementByXPath("//android.widget.TextView[contains(@text, 'Первое')]").Click();
 
Скажите пожалуйста, а как отслеживать ошибки в кубике C#? То есть вот пишем мы команды мобильному приложению с использованием XPath, но на каком-то шаге элемент может быть не найден, и экшен выкатится в ошибку. А как знать, какой именно элемент не был найден? Хорошо, если бы для каждого действия можно было ставить проверку, существует элемент, или нет (перед тем как нажать). Можно ли как-то прописывать такую проверку?
 
Скажите пожалуйста, а как отслеживать ошибки в кубике 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, и к аппиуму новой версии. Кто знает, что с этим можно сделать?
 
Спасибо, проверю!

Ещё вопрос: кто-нибудь знает, какой командой через батник можно снять с прослушивания порт 4723? Этот порт использует аппиум, запускаемый нодом через батник. Но по завершению работы порт остаётся занят, из-за чего и к телефону невозможно подключиться через adb shell, и к аппиуму новой версии. Кто знает, что с этим можно сделать?
завершай полностью процесс, у себя такой проблемы не наблюдаю
и вопрос а зачем юзать нод с аппиумом 1,12, апп самодостаточен
 
и вопрос а зачем юзать нод с аппиумом 1,12, апп самодостаточен
Хороший вопрос. Дело в том, что заметил такую тему: аппиум последней версии (ну или без нода) открывает все приложения уже разлогинеными. А вот тот, который нод открывает - там всё ок, все куки сохраняются. От чего это зависит не знаю. И кстати, может ты знаешь как можно открывать аппиумом приложения, но при этом чтобы они не были разлогинены?
 

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)