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

Zhekaz

Client
Регистрация
14.03.2016
Сообщения
104
Благодарностей
55
Баллы
28
Фууух, наконец все настроил) Может не совсем в тему вопрос, но когда цепляюсь к приложухе через капабилити appackage и appactivity, приложуха постоянно слетает. т.е. приложение запускается, но каждый раз все данные внутри сбрасываются, приложение тупит, зачастую вылетает, периодически не подгружает данные и т.д. Есть идеи в чем может быть дело? можно как-то запустить просто эмулятор без appactivity и appackage, и кликнуть по иконке на рабочем столе?
Видимо неправильный activity установили. Могу посоветовать для получения их параметров прилку "activity launcher", сам её юзаю.
 
Регистрация
18.04.2016
Сообщения
13
Благодарностей
4
Баллы
3
понимаю, что неправильный activity, но как это решить - не знаю) мозги уже закипают, помогите, плиз. Вообщем, установил прилку, которую вы посоветовали. в итоге она выдает 4 activity для нужного мне приложения: com.facebook.CustomTabActivity, com.facebook.accountkit.ui.AccountKitEmailRedirectActivity, site.com.android.StartupActivity и site.com.android.MainActivity. прикол в том, что первые два activity вообще не относятся к прилке, я не использую фэйсбук. остальные два activity запускают приложение, но оно сразу же вылетает. когда пытался сделать ярлык, прилка что вы посоветовали, выдает ошибку, мол в нужном вам приложении нету default activity. видел кто-нибудь подобное? есть мысли как решить задачку?
Видимо неправильный activity установили. Могу посоветовать для получения их параметров прилку "activity launcher", сам её юзаю.
 

Hartwell

Client
Регистрация
25.09.2014
Сообщения
194
Благодарностей
117
Баллы
43
adb shell pm list packages -f
смотришь доступные активити проложения

запускаешь adb am че там дальше хз, не пользовался года 2, активити может быть несколько, по дефолту мейн активити в большенстве аппликешенов открывают первый экран апк

если вылетает, попробуй другой эмуль, лучше стоковый с андроид студио
 
Последнее редактирование:

Mkayan

Client
Регистрация
04.08.2016
Сообщения
81
Благодарностей
6
Баллы
8
ух, 27-м страниц чтива.

Парни подскажите кто здесь курит дольше, где искать готовые примеры по управлению bluestacks или Memu
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 672
Благодарностей
1 857
Баллы
113
ух, 27-м страниц чтива.

Парни подскажите кто здесь курит дольше, где искать готовые примеры по управлению bluestacks или Memu
Ты все страницы прочитал? А что из прочтенного попробовал?
 
  • Спасибо
Реакции: Koqpe

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 100
Благодарностей
649
Баллы
113

KonstantinA

Client
Регистрация
28.01.2019
Сообщения
15
Благодарностей
2
Баллы
3
Последнее редактирование:
Регистрация
18.04.2016
Сообщения
13
Благодарностей
4
Баллы
3
Привет. Подскажите кто-нибудь, пожалуйста, как вместо адреса сервера подставить значение из переменной зенки? пробовал через project.Variables["driver_port"].Value - кубик стартует, но тут же выходит без каких либо ошибок. Значение в самой переменной установлено.

AndroidDriver<IWebElement> driver = new AndroidDriver<IWebElement>(new Uri("http://127.0.0.1:4723/wd/hub"), cap); // инициализируем экземпляр класса драйвера с настройками
 

Monitor

Client
Регистрация
27.12.2016
Сообщения
62
Благодарностей
37
Баллы
18
Привет. Подскажите кто-нибудь, пожалуйста, как вместо адреса сервера подставить значение из переменной зенки? пробовал через project.Variables["driver_port"].Value - кубик стартует, но тут же выходит без каких либо ошибок. Значение в самой переменной установлено.

AndroidDriver<IWebElement> driver = new AndroidDriver<IWebElement>(new Uri("http://127.0.0.1:4723/wd/hub"), cap); // инициализируем экземпляр класса драйвера с настройками
мой рабочий вариант:
C#:
AndroidDriver<IWebElement> driver = new AndroidDriver<IWebElement>(new Uri("http://127.0.0.1:"+project.Variables["port"].Value+"/wd/hub"), cap);
 
  • Спасибо
Реакции: Master.Vasiliy

KonstantinA

Client
Регистрация
28.01.2019
Сообщения
15
Благодарностей
2
Баллы
3
Привет не подскажете как установить apk?добавил cap.setCapability("app", "ссылка до apk файла"); но не работает
 

KonstantinA

Client
Регистрация
28.01.2019
Сообщения
15
Благодарностей
2
Баллы
3
Регистрация
18.04.2016
Сообщения
13
Благодарностей
4
Баллы
3
мой рабочий вариант:
C#:
AndroidDriver<IWebElement> driver = new AndroidDriver<IWebElement>(new Uri("http://127.0.0.1:"+project.Variables["port"].Value+"/wd/hub"), cap);
Спасибо большое. Воюю с многопотоком. Может подскажешь еще по одному вопросу? Когда отправляю команду через cmd вручную: adb -s 192.168.110.101:5555 shell input keyevent 66. Все ок, передается на нужный девайс. Отправляю через зенку, команда не поступает. Не в курсе в чем может быть дело? Если убираю номер девайса, все гуд работает.

Через зенку отправляю команду так:

ProcessStartInfo KnopkaEnter = new ProcessStartInfo();
KnopkaEnter.FileName = @"adb.exe";
KnopkaEnter.Arguments = @"shell -s 192.168.110.101:5555 input keyevent 66"; //параметры выполнения adb команды
//KnopkaEnter.WindowStyle = ProcessWindowStyle.Hidden; //скрываем окно выполнения
Process.Start(KnopkaEnter).WaitForExit();r


UPD: все из-за невнимательности. shell надо было после номера девайса писать

ProcessStartInfo KnopkaEnter = new ProcessStartInfo();
KnopkaEnter.FileName = @"adb.exe";
KnopkaEnter.Arguments = @"-s 192.168.110.101:5555 shell input keyevent 66"; //параметры выполнения adb команды
//KnopkaEnter.WindowStyle = ProcessWindowStyle.Hidden; //скрываем окно выполнения
Process.Start(KnopkaEnter).WaitForExit();r
 
Последнее редактирование:

Monitor

Client
Регистрация
27.12.2016
Сообщения
62
Благодарностей
37
Баллы
18
Последнее редактирование:

GurA

Client
Регистрация
03.05.2016
Сообщения
9
Благодарностей
2
Баллы
3
Всем привет. Подскажите как реализовать нажатие на кнопку имеющие только такой параметр:
Код:
<android.widget.TextView content-desc="Кнопка "Поделиться"">
Вся проблема в двойных кавычках "", не могу понять как правильно вставить в эту часть кода:
Код:
android.widget.TextView[contains(@content-desc, 'Кнопка "Поделиться"')]
В каком направлении копать?
 

KonstantinA

Client
Регистрация
28.01.2019
Сообщения
15
Благодарностей
2
Баллы
3
Всем привет. Подскажите как реализовать нажатие на кнопку имеющие только такой параметр:
Код:
<android.widget.TextView content-desc="Кнопка "Поделиться"">
Вся проблема в двойных кавычках "", не могу понять как правильно вставить в эту часть кода:
Код:
android.widget.TextView[contains(@content-desc, 'Кнопка "Поделиться"')]
В каком направлении копать?
Я не силен но возможно так?!
driver.FindElementByXPath("//android.widget.TextView[contains(@content-desc, ''Кнопка 'Поделиться''')]").Click();
 
Последнее редактирование:

GurA

Client
Регистрация
03.05.2016
Сообщения
9
Благодарностей
2
Баллы
3
Я не силен но возможно так?!
driver.FindElementByXPath("//android.widget.TextView[contains(@content-desc, ''Кнопка 'Поделиться''')]").Click();
Не работает такой вариант, пробовал. Пробовал текст в кавычках передать через переменную, тоже не кликает(
 
Последнее редактирование:

KonstantinA

Client
Регистрация
28.01.2019
Сообщения
15
Благодарностей
2
Баллы
3
Не работает такой вариант, пробовал. Пробовал текст в кавычках передать через переменную, тоже не кликает(
а какое приложение?и где кнопка находится?
 
Регистрация
23.03.2015
Сообщения
1 124
Благодарностей
656
Баллы
113
Привет всем.
Может какой нибудь великий человек возьмется переписать мануал?
Или может кто то, из тех кто разобрался, запишет видео как он создаёт шаблон с нуля.
Это не сильно сложно, а почёт и уважение форумчан бесценно!
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 672
Благодарностей
1 857
Баллы
113
Привет всем.
Может какой нибудь великий человек возьмется переписать мануал?
Или может кто то, из тех кто разобрался, запишет видео как он создаёт шаблон с нуля.
Это не сильно сложно, а почёт и уважение форумчан бесценно!
Все быстро меняется. Видел в природе видео(платное), но как оказалось оно уже устарело и при попытке повторить действия с новой версией библиотеки, выдает ошибки, а в старой нет некоторых нужных функций. Да и бесплатно думаю, мало кто это захочет сделать. Может только на одном из следующих конкурсов.
 

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 100
Благодарностей
649
Баллы
113
Привет всем.
Может какой нибудь великий человек возьмется переписать мануал?
Или может кто то, из тех кто разобрался, запишет видео как он создаёт шаблон с нуля.
Это не сильно сложно, а почёт и уважение форумчан бесценно!
На складчике продают мануал в видео формате.
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 672
Благодарностей
1 857
Баллы
113
На складчике продают мануал в видео формате.
Я как раз про него и говорил. Там старая версия библиотек, и криво сделано. Но для начинающих может быть полезно.
 
  • Спасибо
Реакции: Koqpe

anarbus

Client
Регистрация
16.07.2019
Сообщения
312
Благодарностей
15
Баллы
18
Всем привет. Подскажите как реализовать нажатие на кнопку имеющие только такой параметр:
Код:
<android.widget.TextView content-desc="Кнопка "Поделиться"">
Вся проблема в двойных кавычках "", не могу понять как правильно вставить в эту часть кода:
Код:
android.widget.TextView[contains(@content-desc, 'Кнопка "Поделиться"')]
В каком направлении копать?
Вот так, я кликаю по тексту, который содержит апостроф
3 ночи искал, как эту херобору обойти...

Попробуй на его основе искать с кавычками, вместо апострофа

driver.FindElement(By.XPath("//android.widget.TextView[@text='Refresh when you're back']")).Click();
 

GurA

Client
Регистрация
03.05.2016
Сообщения
9
Благодарностей
2
Баллы
3
Вот так, я кликаю по тексту, который содержит апостроф
3 ночи искал, как эту херобору обойти...

Попробуй на его основе искать с кавычками, вместо апострофа

driver.FindElement(By.XPath("//android.widget.TextView[@text='Refresh when you're back']")).Click();
В моем варианте это не подходит. Оказалось, что нужно было выбрать английский язык в приложении и все заработало (в английской версии не было " " ).
 
Регистрация
18.04.2016
Сообщения
13
Благодарностей
4
Баллы
3
На каждый экземпляр устройства/эмулятора поднимаем сервер.
Adb команды тоже разделяем. Сначала смотрим серийный_номер через команду adb devices и посылаем команды на устройства
Код:
adb -s серийный_номер команда
Слушай, есть какой вариант под каждый экземпляр эмулятора использовать свои прокси? борюсь уже второй день, вообще genymotion не могу заставить работать с проксями.
 

adept

Client
Регистрация
05.10.2015
Сообщения
44
Благодарностей
11
Баллы
8
Привет . Кто может подсказать driver.Swipe(250 , 800 , 450 , 200 , 1000);
-свайп делает, но когда запускаю его после цикла - цикл проходить без ошибок - постоянно ошибка
Выполнение действия CSharp OwnCode Swipe did not complete successfully
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 672
Благодарностей
1 857
Баллы
113
Привет . Кто может подсказать driver.Swipe(250 , 800 , 450 , 200 , 1000);
-свайп делает, но когда запускаю его после цикла - цикл проходить без ошибок - постоянно ошибка
Выполнение действия CSharp OwnCode Swipe did not complete successfully
Попробуйте добавить паузу в цикле между свайпами или более новую версию библиотеки.
 
  • Спасибо
Реакции: adept

Artemka

Client
Регистрация
21.12.2015
Сообщения
43
Благодарностей
8
Баллы
8
Подскажите пожалуйста. Как можно реализовать нажатие Enter?
 
Регистрация
18.04.2016
Сообщения
13
Благодарностей
4
Баллы
3
Подскажите пожалуйста. Как можно реализовать нажатие Enter?
можешь так

ProcessStartInfo KnopkaEnter = new ProcessStartInfo();
KnopkaEnter.FileName = @"adb.exe";
KnopkaEnter.Arguments = @"shell input keyevent 66"; //параметры выполнения adb команды
KnopkaEnter.WindowStyle = ProcessWindowStyle.Hidden; //скрываем окно выполнения
Process.Start(KnopkaEnter).WaitForExit();//Запуск клавишы Enter
 
  • Спасибо
Реакции: Artemka

nectah

Client
Регистрация
17.09.2010
Сообщения
93
Благодарностей
18
Баллы
8
Всем Привет! Возможно ли через Appium сменить GPS местоположение?
Чтот не получается c driver.Location...пишет:
Выполнение действия CSharp OwnCode: Пишем бота. Unable to cast object of type 'System.Collections.Generic.Dictionary`2[System.String,System.Object]' to type 'System.String'.
юзаю в связке с Memu

код:
C#:
var driver = project.Context["driver"];

driver.Location.Latitude = 342.1;

driver.Location.Longitude = 52.2;
 

Jeeves

Client
Регистрация
22.02.2018
Сообщения
51
Благодарностей
4
Баллы
8
Господа, все установил по инструкции, подключился через командную строку к эмулятору мему, но батник все равно вылетает при запуске. Подскажите, пожалуйста, в чем может быть проблема?
В батнике:
"C:\Program Files\nodejs\node.exe" "C:\Users\Alex\AppData\Local\Programs\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:21503 -p 4725
Пробовал разные версии нода, с 9 по 11. Аппиум версии 1.15.
 

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