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

Shytov

Client
Регистрация
11.09.2018
Сообщения
175
Благодарностей
39
Баллы
28
Никак не получается... Пробовал добавлять cap.SetCapability("noReset", "True");, пытался открывать разыне приложения на разных портах, ничего не помогает. Подскажите в какую сторону капать?
Что пишет в лог?
 

lustVVV

Client
Регистрация
19.06.2018
Сообщения
46
Благодарностей
33
Баллы
18
Что пишет в лог?
[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
 

Shytov

Client
Регистрация
11.09.2018
Сообщения
175
Благодарностей
39
Баллы
28
[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 проходят команды?
 

lustVVV

Client
Регистрация
19.06.2018
Сообщения
46
Благодарностей
33
Баллы
18

specialist

Client
Регистрация
28.12.2018
Сообщения
732
Благодарностей
343
Баллы
63

Shytov

Client
Регистрация
11.09.2018
Сообщения
175
Благодарностей
39
Баллы
28

lustVVV

Client
Регистрация
19.06.2018
Сообщения
46
Благодарностей
33
Баллы
18
Устанавливал 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

specialist

Client
Регистрация
28.12.2018
Сообщения
732
Благодарностей
343
Баллы
63

Shytov

Client
Регистрация
11.09.2018
Сообщения
175
Благодарностей
39
Баллы
28
Устанавливал 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();
На чем запускаешь? и какая версия Андроида?
 

lustVVV

Client
Регистрация
19.06.2018
Сообщения
46
Благодарностей
33
Баллы
18

smotrimail

Client
Регистрация
06.02.2017
Сообщения
36
Благодарностей
6
Баллы
8
Никак не получается... Пробовал добавлять cap.SetCapability("noReset", "True");, пытался открывать разыне приложения на разных портах, ничего не помогает. Подскажите в какую сторону капать?
А откуда информация, что на одном эмуляторе (устройстве) одновременно будет запускаться и работать разные приложения?
 

lustVVV

Client
Регистрация
19.06.2018
Сообщения
46
Благодарностей
33
Баллы
18
А откуда информация, что на одном эмуляторе (устройстве) одновременно будет запускаться и работать разные приложения?
А откуда информация что одновременно? Написано несколько раз с начало включаем одно приложение, выполняем действие, включаем приложение 2, выполняем действие - это называется последовательно.
 

gh969

Новичок
Регистрация
09.03.2019
Сообщения
19
Благодарностей
4
Баллы
3
может кто разобрался при
Никак не получается... Пробовал добавлять cap.SetCapability("noReset", "True");, пытался открывать разыне приложения на разных портах, ничего не помогает. Подскажите в какую сторону капать?
Аппиум в 1,10 идет без node, когда у меня был 1,10 тоже все чистилось, как поставил 1,4 (вроде) все заработало как из коробки
 

gh969

Новичок
Регистрация
09.03.2019
Сообщения
19
Благодарностей
4
Баллы
3
вопрос экспертам при команде SendKeys("") в приложении встает в строку ввода и тапает 3 раза, параметры не прописываются хоть как крути ' ' {} , у топикстартера такая же фигня по ходу.
 

Shytov

Client
Регистрация
11.09.2018
Сообщения
175
Благодарностей
39
Баллы
28
вопрос экспертам при команде SendKeys("") в приложении встает в строку ввода и тапает 3 раза, параметры не прописываются хоть как крути ' ' {} , у топикстартера такая же фигня по ходу.
попробуй с начала очистить строку
 

gh969

Новичок
Регистрация
09.03.2019
Сообщения
19
Благодарностей
4
Баллы
3
попробуй с начала очистить строку
спасибо за совет но чистка не помогла, я на телефоне слышу и вижу как несколько раз нажимается на поле ввода. в VB есть параметр н но он у меня не проходит
 

smotrimail

Client
Регистрация
06.02.2017
Сообщения
36
Благодарностей
6
Баллы
8
А откуда информация что одновременно? Написано несколько раз с начало включаем одно приложение, выполняем действие, включаем приложение 2, выполняем действие - это называется последовательно.
Для этого нужно использовать:

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

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

lustVVV

Client
Регистрация
19.06.2018
Сообщения
46
Благодарностей
33
Баллы
18
Для этого нужно использовать:

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

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

Shytov

Client
Регистрация
11.09.2018
Сообщения
175
Благодарностей
39
Баллы
28
Подскажите пожалуйста как правильно должна выглядеть такая конструкция:
Код:
var text = project.Variables["chanel_name"].Value;
driver.FindElementsByClassName("android.widget.TextView").Where(f=> f.Text == 'project.Variables["chanel_name"].Value').First().Click();
Нужно сделать поиск по атрибуту текст, который берется из переменной
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
790
Благодарностей
136
Баллы
43
Подскажите пожалуйста как правильно должна выглядеть такая конструкция:
А ты что, смог в целом всё это настроить чтоли? Подключил телефон к компу и управляешь его приложениями?!o_O
 

Shytov

Client
Регистрация
11.09.2018
Сообщения
175
Благодарностей
39
Баллы
28

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
790
Благодарностей
136
Баллы
43
Нет, я серьёзно - несколько дней уже с этим мучаюсь, пытаюсь через bluestacks настроить работу, но ничего не получается. Потом попробовал через телефон - но дальше sdk дело не пошло((
Поэтому я и спросил, неужели у тебя вот всё получилось?
 

Shytov

Client
Регистрация
11.09.2018
Сообщения
175
Благодарностей
39
Баллы
28
L
Нет, я серьёзно - несколько дней уже с этим мучаюсь, пытаюсь через bluestacks настроить работу, но ничего не получается. Потом попробовал через телефон - но дальше sdk дело не пошло((
Поэтому я и спросил, неужели у тебя вот всё получилось?
Да, без особых проблем. На noxe и на телефоне.
Все ошибки гуглятся на изи. Могу подсказать
 
  • Спасибо
Реакции: avtostopshik

smotrimail

Client
Регистрация
06.02.2017
Сообщения
36
Благодарностей
6
Баллы
8
Подскажите пожалуйста как правильно должна выглядеть такая конструкция:
Код:
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

Master4eg

Client
Регистрация
06.04.2016
Сообщения
421
Благодарностей
122
Баллы
43
Подскажите, как в данном варианте вместо 'Первое' использовать переменную?
Код:
driver.FindElementByXPath("//android.widget.TextView[contains(@text, 'Первое')]").Click();
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
790
Благодарностей
136
Баллы
43
Скажите пожалуйста, а как отслеживать ошибки в кубике C#? То есть вот пишем мы команды мобильному приложению с использованием XPath, но на каком-то шаге элемент может быть не найден, и экшен выкатится в ошибку. А как знать, какой именно элемент не был найден? Хорошо, если бы для каждого действия можно было ставить проверку, существует элемент, или нет (перед тем как нажать). Можно ли как-то прописывать такую проверку?
 

Master4eg

Client
Регистрация
06.04.2016
Сообщения
421
Благодарностей
122
Баллы
43
Скажите пожалуйста, а как отслеживать ошибки в кубике 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);
 

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
790
Благодарностей
136
Баллы
43
Вот так можно, если не нашло, то выходит по бэду
Код:
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, и к аппиуму новой версии. Кто знает, что с этим можно сделать?
 

gh969

Новичок
Регистрация
09.03.2019
Сообщения
19
Благодарностей
4
Баллы
3
Спасибо, проверю!

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

avtostopshik

Client
Регистрация
09.09.2016
Сообщения
790
Благодарностей
136
Баллы
43
и вопрос а зачем юзать нод с аппиумом 1,12, апп самодостаточен
Хороший вопрос. Дело в том, что заметил такую тему: аппиум последней версии (ну или без нода) открывает все приложения уже разлогинеными. А вот тот, который нод открывает - там всё ок, все куки сохраняются. От чего это зависит не знаю. И кстати, может ты знаешь как можно открывать аппиумом приложения, но при этом чтобы они не были разлогинены?
 

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