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

Saavdav

Client
Регистрация
23.09.2019
Сообщения
50
Благодарностей
5
Баллы
8
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.FileName = @"C:\Program Files (x86)\Microvirt\MEmu\memuc.exe"; string vmindex = "1"; // номер эмулятора
string apkfile = "test.apk"; // путь к apk-файлу
p.StartInfo.Arguments = "installapp -i "+ vmindex +" "+ apkfile;
p.Start();
Покажите пожалуйста а как теперь с помощью memuc uninstallapp <-i vmindex | -n vmname> <packagename> также на C#. Чтобы приложение удалилось с андроида. Заранее огромное спасибо!
 

Monitor

Client
Регистрация
27.12.2016
Сообщения
62
Благодарностей
37
Баллы
18
Покажите пожалуйста а как теперь с помощью memuc uninstallapp <-i vmindex | -n vmname> <packagename> также на C#. Чтобы приложение удалилось с андроида. Заранее огромное спасибо!
installapp заменить на uninstallapp не пробовали?
 

Saavdav

Client
Регистрация
23.09.2019
Сообщения
50
Благодарностей
5
Баллы
8
installapp заменить на uninstallapp не пробовали?
Да, конечно пробовал. Все равно срабатывает загрузка файла, а не удаление. Буду дальше пробывать. Когда беру значение по xpath то, пишет не удалось найти путь.
 

Saavdav

Client
Регистрация
23.09.2019
Сообщения
50
Благодарностей
5
Баллы
8
Пишет не удаеться найти указанный файл. Ну никак не получаеться. Хочеттся разобраттся в чем я именно косячу.
 

Вложения

Monitor

Client
Регистрация
27.12.2016
Сообщения
62
Благодарностей
37
Баллы
18
Пишет не удаеться найти указанный файл. Ну никак не получаеться. Хочеттся разобраттся в чем я именно косячу.
Если правильно понял из фото (лучше делать скриншот экрана), то требуется удалить приложение WhatsApp.
Во-первых, неверно указан p.StartInfo.FileName, должен быть путь к memuc.exe (например: @"C:\Program Files (x86)\Microvirt\MEmu\memuc.exe")
Во-вторых, не тот package name приложения. Все package name приложений на устройстве можно посмотреть командой:
Код:
adb.exe shell pm list packages -3 -f
предварительно проверив наличие устройства в списке подключенных:
Код:
adb.exe devices
Ну а package name для WhatsApp вроде бы "com.whatsapp".
 

watersquad

Client
Регистрация
23.09.2019
Сообщения
291
Благодарностей
27
Баллы
28
Тип Время Сообщение
18:32:36 Выполнение действия CSharp OwnCode. [Строка: 14; Cтолбец: 0] Не удалось загрузить файл или сборку "WebDriver, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null" либо одну из их зависимостей. Не удается найти указанный файл.

Добрый всем вечер!!!

Я уже часов 6 с этим всем сижу, разобрался все сделал, все установил, еще телефон рутировал для дел, и тут вот это, пожалуйста добрые люди, помогите мне решить эту проблему

UPD

Пытаюсь запустить appium

49673


UPD переустановил appium и теперь
49679

хотя файл на месте

Еще adb у меня по команде не открывает, а только если путь полностью указывать, но там видно, что подключено устройство
 
Последнее редактирование:
D

Dronhik

Guest
Если кто-то будет искать скриншот экрана приложения, работал на Nox
Выглядит все вот так. Спасибо VerBin
C#:
Screenshot screenshot = driver.GetScreenshot();
screenshot.SaveAsFile(@"C:\Путь\ansd.jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
 

watersquad

Client
Регистрация
23.09.2019
Сообщения
291
Благодарностей
27
Баллы
28
Решил все беды, кроме этой, может кто знает в чем разгадка этой ошибки?

Выполнение действия CSharp OwnCode. [Строка: 10; Cтолбец: 0] Не удалось загрузить файл или сборку "WebDriver, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null" либо одну из их зависимостей. Не удается найти указанный файл.
 

watersquad

Client
Регистрация
23.09.2019
Сообщения
291
Благодарностей
27
Баллы
28
Добрый день!

Помоги разобраться, как вставить вместо обычного текста в код текст из переменной проекта?
 
D

Dronhik

Guest
Добрый день!

Помоги разобраться, как вставить вместо обычного текста в код текст из переменной проекта?


C#:
driver.FindElementByXPath("//android.widget.EditText[contains(@resource-id, 'id')]").SendKeys(project.Variables["number"].Value);
screenshot.SaveAsFile(@"C:\Путь\Скриншоты\" + project.Variables["name_profile"].Value + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
1.Например ввод номера телефона в поле
2.Сохранение скриншота с разными именами
 

watersquad

Client
Регистрация
23.09.2019
Сообщения
291
Благодарностей
27
Баллы
28
C#:
driver.FindElementByXPath("//android.widget.EditText[contains(@resource-id, 'id')]").SendKeys(project.Variables["number"].Value);
screenshot.SaveAsFile(@"C:\Путь\Скриншоты\" + project.Variables["name_profile"].Value + ".jpg", System.Drawing.Imaging.ImageFormat.Jpeg);
1.Например ввод номера телефона в поле
2.Сохранение скриншота с разными именами
Спасибо!
 

watersquad

Client
Регистрация
23.09.2019
Сообщения
291
Благодарностей
27
Баллы
28
Добрый вечер!

Подскажите как пользоваться несколькими приложениями, сначала сделал дело в одном, потом пошел в другое, сделал там и тд

И еще вопрос, иногда у приложений открывается логин в виде браузера, как с таким работать?

UPD

Решено
 
Последнее редактирование:

watersquad

Client
Регистрация
23.09.2019
Сообщения
291
Благодарностей
27
Баллы
28
Добрый вечер!

Подскажите как делать быстрый тап?
 

Koqpe

Client
Регистрация
23.12.2014
Сообщения
1 100
Благодарностей
649
Баллы
113
Перестал работать Tap как нужно. driver.Tap(1,el_x-80,el_y+20,1); тапает с задержкой а нужно просто быстрый клик. Не встречали такого и как решить ?
Здравствуйте, решили проблему с "тапом"?
 

seregakot

Client
Регистрация
19.03.2016
Сообщения
126
Благодарностей
62
Баллы
28
Добрый вечер!

Подскажите как пользоваться несколькими приложениями, сначала сделал дело в одном, потом пошел в другое, сделал там и тд

И еще вопрос, иногда у приложений открывается логин в виде браузера, как с таким работать?

UPD

Решено
Как решили ? , выложите в этой теме , думаю будет полезно всем
 

watersquad

Client
Регистрация
23.09.2019
Сообщения
291
Благодарностей
27
Баллы
28
Как решили ? , выложите в этой теме , думаю будет полезно всем
Ставим
C#:
cap.SetCapability("newCommandTimeout", "86400");
И за это время идем в следующее приложение, еще на всякий можно добавить
C#:
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(60));
Это в начало
C#:
project.Context["drv"]= driver;
А это в конец

А по поводу браузера, то к сожалению с некоторыми приложениями никак не справится насколько я понял
 
  • Спасибо
Реакции: Koqpe и seregakot

seregakot

Client
Регистрация
19.03.2016
Сообщения
126
Благодарностей
62
Баллы
28
А кто подскажет по такому, вот можем эмулировать к примеру emei, номер телефона и т.д
А как сделать эмуляцию id телефона (виртуальной машины)

И как загрузить или прикрепить к примеру файлы, фото или видео.

Спасибо
 

Monitor

Client
Регистрация
27.12.2016
Сообщения
62
Благодарностей
37
Баллы
18
А кто подскажет по такому, вот можем эмулировать к примеру emei, номер телефона и т.д
А как сделать эмуляцию id телефона (виртуальной машины)
Используя спец. приложения, например Xposed с определенным модулем (XPrivacy или Phone ID Changer).
И как загрузить или прикрепить к примеру файлы, фото или видео.
Командой adb push
 

Crypto Life

Client
Регистрация
16.08.2018
Сообщения
39
Благодарностей
1
Баллы
8
Всем привет. Помогите, пожалуйста, разобраться, ну или хотя бы указать направление. Думаю тут есть эксперты, которые сходу по скинутым мною данным или скринам заметят мною допущенные косяки.
Вяжу работу с эмулятором Memu. На мой взгляд у меня не получается связать appium с эмулятором, перепробовал много чего.

Скажу сразу, эту тему и другие подобные перечитал, также нагуглил. Шел по инструкции из данного топика, установил sdk (а также всякие java и другие необходимые штуки по инструкциям, кроме eclipse), задал переменные сред и пути к ним для java, sdk и его инструментов, установил несколько версий appium (с node.exe и уже без node, последнии версии не ставил, так как там по моему только для 64bit, а я всё ставлю на windows 32bit).

Первая явная проблема начинается, когда в cmd ввожу команду adv devices, устройство не отображается. Этот момент решаю командой adb connect 127.0.0.1:21503 (пробовал 127.0.0.1:4723). Не уверен, что правильно делаю добавляя так девайс, но после этого инструмент UI Automator Viewer уже видит окно эмулятора и можно изучать нужные элементы.
Кстати команды adb shell и dumpsys window windows | grep -E ‘mCurrentFocus|mFocusedApp’ тоже начинают работать и выдают инфу именно по открытым приложениям в окне эмулятора Memu.

Отсутствует у меня уверенность в том, что я правильно задаю параметры сервера appium, а также правильный ли запрос посылаю в зенке (касается порта).
Задал десятки вариантов в разных версиях appium. Ну адрес везде задаю 127.0.0.1, с портами сложнее, тут я дико путаюсь. Есть bootstrap, тут я в основном указываю 21503, хотя и пробовал 4723 и 5555. Для основного порта пробовал задавать, 4723-4725, 5555, 5565, 21503. Порты хрома иногда указывал, но в основном этот параметр опускал незаполненным, selenium тоже не трогаю, по умолчанию оставляю. Эмулирую android 5.1 (ну такой, который сгенерировал memu при запуске, не менял).
По логам appium вижу всплывает от adb порт 5037, не использовал его, нигде не указывал.

В общем прилагаю несколько скринов с логами appium и другие настройки, кстати, делал столько разных вариантов, что даже не заметил, когда у меня в эмуляторе появилось приложение appium setting, которое не запускается.
 

Вложения

VerBin

Client
Регистрация
28.05.2016
Сообщения
555
Благодарностей
455
Баллы
63
Всем привет. Помогите, пожалуйста, разобраться, ну или хотя бы указать направление. Думаю тут есть эксперты, которые сходу по скинутым мною данным или скринам заметят мною допущенные косяки.
Вяжу работу с эмулятором Memu. На мой взгляд у меня не получается связать appium с эмулятором, перепробовал много чего.

Скажу сразу, эту тему и другие подобные перечитал, также нагуглил. Шел по инструкции из данного топика, установил sdk (а также всякие java и другие необходимые штуки по инструкциям, кроме eclipse), задал переменные сред и пути к ним для java, sdk и его инструментов, установил несколько версий appium (с node.exe и уже без node, последнии версии не ставил, так как там по моему только для 64bit, а я всё ставлю на windows 32bit).

Первая явная проблема начинается, когда в cmd ввожу команду adv devices, устройство не отображается. Этот момент решаю командой adb connect 127.0.0.1:21503 (пробовал 127.0.0.1:4723). Не уверен, что правильно делаю добавляя так девайс, но после этого инструмент UI Automator Viewer уже видит окно эмулятора и можно изучать нужные элементы.
Кстати команды adb shell и dumpsys window windows | grep -E ‘mCurrentFocus|mFocusedApp’ тоже начинают работать и выдают инфу именно по открытым приложениям в окне эмулятора Memu.

Отсутствует у меня уверенность в том, что я правильно задаю параметры сервера appium, а также правильный ли запрос посылаю в зенке (касается порта).
Задал десятки вариантов в разных версиях appium. Ну адрес везде задаю 127.0.0.1, с портами сложнее, тут я дико путаюсь. Есть bootstrap, тут я в основном указываю 21503, хотя и пробовал 4723 и 5555. Для основного порта пробовал задавать, 4723-4725, 5555, 5565, 21503. Порты хрома иногда указывал, но в основном этот параметр опускал незаполненным, selenium тоже не трогаю, по умолчанию оставляю. Эмулирую android 5.1 (ну такой, который сгенерировал memu при запуске, не менял).
По логам appium вижу всплывает от adb порт 5037, не использовал его, нигде не указывал.

В общем прилагаю несколько скринов с логами appium и другие настройки, кстати, делал столько разных вариантов, что даже не заметил, когда у меня в эмуляторе появилось приложение appium setting, которое не запускается.
Если готов оплатить время. Контакты в подписи.
 
  • Спасибо
Реакции: Crypto Life

radv

Client
Регистрация
11.05.2015
Сообщения
3 673
Благодарностей
1 855
Баллы
113
Эмулирую android 5.1 (ну такой, который сгенерировал memu при запуске, не менял).
Важны версия аппиума (в том числе используемая dll), версия самого мему (версия 7 не пойдет, а вот 6 вроде норм) и версии адб везде должны совпадать. После запуска мему и его настроек (включения режима разработчика и т.п.) он сразу должен быть виден через adb devices и там указан используемый порт и сервер, если это не так, значит что то не так:-). В остальном Время = Деньги. :az:
 
  • Спасибо
Реакции: Crypto Life

top.razrab

Client
Регистрация
05.09.2017
Сообщения
60
Благодарностей
16
Баллы
8
Подскажите пожалуйста, как спарсить все ссылки на профили пользователей, если в программе они подгружаются при пролистывании списка в низ?
 

VerBin

Client
Регистрация
28.05.2016
Сообщения
555
Благодарностей
455
Баллы
63
Подскажите пожалуйста, как спарсить все ссылки на профили пользователей, если в программе они подгружаются при пролистывании списка в низ?
Как один из вариантов:
Получаешь исходник страницы приложения в виде xml дерева.
Результат складываешь в переменную, затем при помощи кода парсишь все что нужно.
Далее делаешь несколько свайпов вниз и проделываешь тоже самое по кругу.
 

VerBin

Client
Регистрация
28.05.2016
Сообщения
555
Благодарностей
455
Баллы
63
Можно еще вычислять md5 hash содержимого страницы и после свайпа сравнивать, таким образом можно понять изменилось ли содержимое.
 
D

Dronhik

Guest
Кому-нибудь удалось через Proxifier проксировать Nox.?
Я если вкл прокси, то Nox перестает запускаться, загрузка зависает на 99%, а если вкл потом после загрузки то просто нет соединения. Или может кто другие программы использовал, только не proxyDroid... слышал что для memu эмулятора есть хорошие модули по анонимности и смени imei
 

Gang

Client
Регистрация
04.04.2010
Сообщения
577
Благодарностей
313
Баллы
63

VerBin

Client
Регистрация
28.05.2016
Сообщения
555
Благодарностей
455
Баллы
63
Подскажите какую версию appium использует автор статьи?
Многое изменилось с момента публикации. Можешь глянуть по дате релиза примерно на гитахабе в разделе releases
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 673
Благодарностей
1 855
Баллы
113
Подскажите какую версию appium использует автор статьи?
из прикрепленных к статье файлов. Но как уже было сказано выше, многое в новых версиях по другому, и описанные примеры могут не работать, как ожидается.
 

Gang

Client
Регистрация
04.04.2010
Сообщения
577
Благодарностей
313
Баллы
63
Многое изменилось с момента публикации. Можешь глянуть по дате релиза примерно на гитахабе в разделе releases
Перебрал несколько версий. Но ни одна не подходит, по батникам вижу что в корне должен быть файл node.exe Но ни в одной версии которую тестил его не было.

из прикрепленных к статье файлов. Но как уже было сказано выше, многое в новых версиях по другому, и описанные примеры могут не работать, как ожидается.
там только c# либы для работы с appium и 2 батника для старта и остановки appium-сервера. Самого дистрибутива appium в прикрепленных файлах нет
 

VerBin

Client
Регистрация
28.05.2016
Сообщения
555
Благодарностей
455
Баллы
63
Современная версия appium desktop имеет встроенный nodejs. Но отдельного файла node.exe нет.
Можно установить вручную nodejs. А далее из консоли через npm установть appium.
Также есть версии на bitbacket где есть node.exe.
Эти вопросы уже обсуждались в этом топике. Рекомендую перечитать все страницы.
 
  • Спасибо
Реакции: Gang

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