2 место Автоматизация Android без посредников. Часть 1.

radv

Client
Регистрация
11.05.2015
Сообщения
3 674
Благодарностей
1 859
Баллы
113
Сделайте перезагрузку, возможно какой то процесс мешает.
 
  • Спасибо
Реакции: LifeIsCool

LifeIsCool

Client
Регистрация
12.12.2015
Сообщения
44
Благодарностей
4
Баллы
8
Разобрался. Случайно получилось. В общем, uiautomatorviewer не правильно отображает индексы и resource-id в некоторых случаях. У меня получилось сделать xPath используя только параметр text, индекс наугад.
 

PUNKOFFYA

Client
Регистрация
10.05.2021
Сообщения
7
Благодарностей
2
Баллы
3
  • Спасибо
Реакции: LifeIsCool

LifeIsCool

Client
Регистрация
12.12.2015
Сообщения
44
Благодарностей
4
Баллы
8

PUNKOFFYA

Client
Регистрация
10.05.2021
Сообщения
7
Благодарностей
2
Баллы
3

trecho

Client
Регистрация
12.07.2018
Сообщения
171
Благодарностей
124
Баллы
43
  • Спасибо
Реакции: pym933 и PUNKOFFYA

Ilshakin

Client
Регистрация
14.02.2017
Сообщения
631
Благодарностей
542
Баллы
93

trecho

Client
Регистрация
12.07.2018
Сообщения
171
Благодарностей
124
Баллы
43

Ilshakin

Client
Регистрация
14.02.2017
Сообщения
631
Благодарностей
542
Баллы
93
где это - "там"? :D
в memu? - точно также как и в nox
ну ты привел статью, в которой описано обращение к эмулятору через его встроенные команды, по типу:

memuc installapp -i 1 com.microvirt.test - установка приложения
memuc startapp -i 1 com.microvirt.test - запуск приложения
команда, индекс устройства, приложение

а как работать с его внутренними командами для поиска по xpath или по имени элемента в активном приложении ?
вижу, что можно через adb это сделать, по типу
memuc -i 1 adb get-devpath path
 

trecho

Client
Регистрация
12.07.2018
Сообщения
171
Благодарностей
124
Баллы
43
а как работать с его внутренними командами для поиска по xpath или по имени элемента в активном приложении ?
вижу, что можно через adb это сделать, по типу
memuc -i 1 adb get-devpath path
это оф мануал, полагаю что такого функционала просто нет, раз он там не указан
 

Ilshakin

Client
Регистрация
14.02.2017
Сообщения
631
Благодарностей
542
Баллы
93
это оф мануал, полагаю что такого функционала просто нет, раз он там не указан
возможно, но оф документация хранит в себе далеко не все команды...
если хорошо погуглить китайские форумы - появляется немало интересных команд, которые не обозначены в оф документации ( причем эти команды идут совершенно с других эмуляторов, но применить можно к любому, ибо сделаны они все на одном движке)
подумал, может ты что то нарыл :D
 

baracuda

Client
Регистрация
19.06.2013
Сообщения
733
Благодарностей
247
Баллы
43
Memu,Nox в теме есть как подключать. Вот нашёл на просторах ещё варианты. Остальные варианты кто нибуть пробовал подключать? Понятно что скорее всего везде всё идентично, но хотелось бы попробовать все варианты.

BlueStacks
LDPlayer
Genymotion
Leapdroid
Koplayer
AMIDuOS(платный)

Если кто то скинет настройки, буду благодарен. да и не только я. но это не точно :-)
 
  • Спасибо
Реакции: Dorian_Gray

Sib

Новичок
Регистрация
19.04.2021
Сообщения
24
Благодарностей
2
Баллы
3
Добрый день!
А с учетом того, что топик начинается год назад вся эта история актульна?
 

LifeIsCool

Client
Регистрация
12.12.2015
Сообщения
44
Благодарностей
4
Баллы
8

Fog

Client
Регистрация
23.04.2021
Сообщения
79
Благодарностей
9
Баллы
8
я стесняюсь спросить. а как в нокс плеере (он мне понравился легкостью) на каждый запущенный процесс назначить свой сокс5 прокси сервер? (5 эмуляторов - у каждого свой прокси)
 

WLDN

Client
Регистрация
09.07.2015
Сообщения
357
Благодарностей
563
Баллы
93
я стесняюсь спросить. а как в нокс плеере (он мне понравился легкостью) на каждый запущенный процесс назначить свой сокс5 прокси сервер? (5 эмуляторов - у каждого свой прокси)
Можно приобрести мой плагин Droxy, он умеет это делать.
 

Nyaka_wai

Новичок
Регистрация
14.06.2021
Сообщения
5
Благодарностей
0
Баллы
1
Доброго всем времени суток. Решил немного автоматизировать действия в MEMU (пока без консоли, просто автоматизация наборов действий в виде макросов) и столкнулся с какой-то непреодолимой проблемой в виде невозможности изнутри эмулятора получить содержимое глобального буфера обмена никак, кроме физического нажатия Ctrl+V в активном окне.
Подскажите пожалуйста, без использования внешнего adb есть ли возможность в самом эмуляторе вызвать глобальный буфер обмена? Возможно есть какой-то вариант обращение к их системному MemuIME?
 

WLDN

Client
Регистрация
09.07.2015
Сообщения
357
Благодарностей
563
Баллы
93
Доброго всем времени суток. Решил немного автоматизировать действия в MEMU (пока без консоли, просто автоматизация наборов действий в виде макросов) и столкнулся с какой-то непреодолимой проблемой в виде невозможности изнутри эмулятора получить содержимое глобального буфера обмена никак, кроме физического нажатия Ctrl+V в активном окне.
Подскажите пожалуйста, без использования внешнего adb есть ли возможность в самом эмуляторе вызвать глобальный буфер обмена? Возможно есть какой-то вариант обращение к их системному MemuIME?
Привет. Попробуй посмотреть решение из статьи Автоматизация Android часть 2. Там есть clipper. Возможно подойдет
 
  • Спасибо
Реакции: orka13

Nyaka_wai

Новичок
Регистрация
14.06.2021
Сообщения
5
Благодарностей
0
Баллы
1
Привет. Попробуй посмотреть решение из статьи Автоматизация Android часть 2. Там есть clipper. Возможно подойдет
Хм, прочитал статью, не увидел никакого решения. Там ведь описывается совместная работа Фидлера и зеннопостера. Это намного сложнее и муторнее, чем просто подключить adb. А задача в том, чтобы вытащить буфер без внешнего вмешательства в эмулятор :-)
 

Koqpe

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

Nyaka_wai

Новичок
Регистрация
14.06.2021
Сообщения
5
Благодарностей
0
Баллы
1
Теперь перечитай еще раз, всю. Смотрю в книгу...
Ещё раз пересмотрел. Да, действительно клиппер в конце упоминается на 30 секунд. Но его действия состоят в том, чтобы достать локальный буфер в переменную зеннопостера. А задача в том, чтобы прочитать глобальный буфер в эмуляторе без зеннопостера и адб.
 

WLDN

Client
Регистрация
09.07.2015
Сообщения
357
Благодарностей
563
Баллы
93
Доброго всем времени суток. Решил немного автоматизировать действия в MEMU (пока без консоли, просто автоматизация наборов действий в виде макросов) и столкнулся с какой-то непреодолимой проблемой в виде невозможности изнутри эмулятора получить содержимое глобального буфера обмена никак, кроме физического нажатия Ctrl+V в активном окне.
Подскажите пожалуйста, без использования внешнего adb есть ли возможность в самом эмуляторе вызвать глобальный буфер обмена? Возможно есть какой-то вариант обращение к их системному MemuIME?
К сожалению, не знаю чем отличается глобальный от локального, но можно написать свой .sh скрипт, который будет вызываться по какому-то триггеру. Но я подозреваю что этот способ из разряда сложноватых, но при желании можно реализовать
 

Nyaka_wai

Новичок
Регистрация
14.06.2021
Сообщения
5
Благодарностей
0
Баллы
1
К сожалению, не знаю чем отличается глобальный от локального, но можно написать свой .sh скрипт, который будет вызываться по какому-то триггеру. Но я подозреваю что этот способ из разряда сложноватых, но при желании можно реализовать
Ну локальный буфер, в моем понимании, это буфер самого эмулятора, а глобальный - буфер системы на pc. Memu сам достает в глобальный буфер все значения, которые копируются внутри эмулятора, к вот вводит только через ctrl+v (если попытаться вставить мышью, то вставится предыдущее скопированное в эмуляторе значени.
По поводу .sh скрипта интересно, но ведь если это реализуемо, то будет состоять из пары строчек. И одна из них должна быть нужной мне командой :-)
 

WLDN

Client
Регистрация
09.07.2015
Сообщения
357
Благодарностей
563
Баллы
93
Ну локальный буфер, в моем понимании, это буфер самого эмулятора, а глобальный - буфер системы на pc. Memu сам достает в глобальный буфер все значения, которые копируются внутри эмулятора, к вот вводит только через ctrl+v (если попытаться вставить мышью, то вставится предыдущее скопированное в эмуляторе значени.
По поводу .sh скрипта интересно, но ведь если это реализуемо, то будет состоять из пары строчек. И одна из них должна быть нужной мне командой :-)
Скорее всего да, код небольшой. Можно поэкспериментировать. Есть ещё memuc в папке с мему. Может там что есть. Но это работа опять же через cmd. То есть не подойдёт
 

Nyaka_wai

Новичок
Регистрация
14.06.2021
Сообщения
5
Благодарностей
0
Баллы
1
Скорее всего да, код небольшой. Можно поэкспериментировать. Есть ещё memuc в папке с мему. Может там что есть. Но это работа опять же через cmd. То есть не подойдёт
Ну в лучшем случае получится тоже самое, что и обычный ADB :D
 

aikostes

Client
Регистрация
08.09.2020
Сообщения
32
Благодарностей
1
Баллы
8
Доброго дня, появилось очень много вопросов:
1) есть возможность команду adb shell uiautomator dump /dev/tty - вызывать с зенки и помещать ответ в переменную?
2) есть возможсность команду adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp' - вызывать с зенки и помещать ответ в переменную?
3) приведенный пример manager.InstallPackage(project.Directory + @"\youtube.apk", reinstall: false); //установка apk не работает как не крутил, причем удаление apk в примере работает, подскажите как пофиксить?
4) При вызове команды из cmd adb shell uiautomator dump /dev/tty всегда выдает ошибку error: more than one device/emulator, как с этим бороться?
5) Команда adb devices - выдает всегда 3 и более девайсов, хотя по факту запущен только 1 эмулятор, не понимаю( - поэтому часть других действий не могу делать.
6) UI Automator Viewer - устанавливал по инструкции - но он не работает, по факту я включаю его с ярлыка на рабочем столе открывается батник - черный фон, выключается. до момента в котором что то с него можно получить довести не удается

По возможности если кто то сможет помочь буду благодарен.
ps

Кто сможет помочь - провести за руку за руку до первых успехов готов благодарить материально, все обсудим согласуем пишите пожалуйста.
 
Последнее редактирование:

WLDN

Client
Регистрация
09.07.2015
Сообщения
357
Благодарностей
563
Баллы
93
Доброго дня, появилось очень много вопросов:
1) есть возможность команду adb shell uiautomator dump /dev/tty - вызывать с зенки и помещать ответ в переменную?
2) есть возможсность команду adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp' - вызывать с зенки и помещать ответ в переменную?
3) приведенный пример manager.InstallPackage(project.Directory + @"\youtube.apk", reinstall: false); //установка apk не работает как не крутил, причем удаление apk в примере работает, подскажите как пофиксить?
4) При вызове команды из cmd adb shell uiautomator dump /dev/tty всегда выдает ошибку error: more than one device/emulator, как с этим бороться?
5) Команда adb devices - выдает всегда 3 и более девайсов, хотя по факту запущен только 1 эмулятор, не понимаю( - поэтому часть других действий не могу делать.
6) UI Automator Viewer - устанавливал по инструкции - но он не работает, по факту я включаю его с ярлыка на рабочем столе открывается батник - черный фон, выключается. до момента в котором что то с него можно получить довести не удается

По возможности если кто то сможет помочь буду благодарен.
Привет
1) Есть, нужно написать самостоятельно код по аналогии того, как это сделано в общем коде
2) Есть
3) Если связано со смартфоном, можно попробовать сниппет cmd из второй части
4) Дословный перевод ошибки: больше чем один девайс/эмулятор. Соответственно нужно отрубить какой-то из девайсов, либо вызвать конкретный через -s <ip/serial>
5) ошибка из прошлого пункта показывает, что запущено более 1го девайса/эмулятора
6) Не знаю в чем проблема, к сожалению
 

Sib

Новичок
Регистрация
19.04.2021
Сообщения
24
Благодарностей
2
Баллы
3
Все-таки не понимаю, чем отличается Android SDK от Android Studio
Что из них что, и можно ли android studio подружить с zennoposter?
Смущает то, что если перейти по ссылки из статьи на страницу с android sdk видим, что последнее обновление было в далеком 2015 году.
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 674
Благодарностей
1 859
Баллы
113
Все-таки не понимаю, чем отличается Android SDK от Android Studio
Что из них что, и можно ли android studio подружить с zennoposter?
Отвечал на этот вопрос тут.

Если совсем коротко, то Android SDK входит в состав AndroidStudio. И не понятно, зачем вам нужно подружить Андроид студио и зеннопостер. Андроид студио это для разработки мобильных приложений, а зеннопостер для автоматизации действий пользователя. Зеннопостер уже начал дружить с VisualStudio в которой через Xamarin тоже можно делать мобильные приложения.

Смущает то, что если перейти по ссылки из статьи на страницу с android sdk видим, что последнее обновление было в далеком 2015 году.
Это ссылка на сайт с разными программами, а обновление любых программ лучше смотреть на официальных сайтах.
 

Sib

Новичок
Регистрация
19.04.2021
Сообщения
24
Благодарностей
2
Баллы
3
  • Спасибо
Реакции: Ruhas

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