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

radv

Client
Joined
May 11, 2015
Messages
3,854
Reaction score
2,084
Points
113
Сделайте перезагрузку, возможно какой то процесс мешает.
 
  • Thank you
Reactions: LifeIsCool

LifeIsCool

Client
Joined
Dec 12, 2015
Messages
44
Reaction score
4
Points
8
Разобрался. Случайно получилось. В общем, uiautomatorviewer не правильно отображает индексы и resource-id в некоторых случаях. У меня получилось сделать xPath используя только параметр text, индекс наугад.
 

PUNKOFFYA

Client
Joined
May 10, 2021
Messages
7
Reaction score
2
Points
3
project.Variables["likes"].Value = ls[0];
а есть команда для вылкючения эмулятора?
 
  • Thank you
Reactions: LifeIsCool

LifeIsCool

Client
Joined
Dec 12, 2015
Messages
44
Reaction score
4
Points
8
а есть команда для вылкючения эмулятора?
Имеется в виду для закрытия окна (мобильного "инстанса")? Тоже было бы интересно
 

PUNKOFFYA

Client
Joined
May 10, 2021
Messages
7
Reaction score
2
Points
3
Имеется в виду для закрытия окна (мобильного "инстанса")? Тоже было бы интересно
да!
 

trecho

Client
Joined
Jul 12, 2018
Messages
171
Reaction score
124
Points
43

Ilshakin

Client
Joined
Feb 14, 2017
Messages
645
Reaction score
589
Points
93
у memu есть
Я из-за этих команд не него и перешел
не разобрался как там с xpath работать или искать элемент по имени ?
 

trecho

Client
Joined
Jul 12, 2018
Messages
171
Reaction score
124
Points
43
не разобрался как там с xpath работать или искать элемент по имени ?
где это - "там"? :D
в memu? - точно также как и в nox
 

Ilshakin

Client
Joined
Feb 14, 2017
Messages
645
Reaction score
589
Points
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
Joined
Jul 12, 2018
Messages
171
Reaction score
124
Points
43
а как работать с его внутренними командами для поиска по xpath или по имени элемента в активном приложении ?
вижу, что можно через adb это сделать, по типу
memuc -i 1 adb get-devpath path
это оф мануал, полагаю что такого функционала просто нет, раз он там не указан
 

Ilshakin

Client
Joined
Feb 14, 2017
Messages
645
Reaction score
589
Points
93
это оф мануал, полагаю что такого функционала просто нет, раз он там не указан
возможно, но оф документация хранит в себе далеко не все команды...
если хорошо погуглить китайские форумы - появляется немало интересных команд, которые не обозначены в оф документации ( причем эти команды идут совершенно с других эмуляторов, но применить можно к любому, ибо сделаны они все на одном движке)
подумал, может ты что то нарыл :D
 

baracuda

Client
Joined
Jun 19, 2013
Messages
856
Reaction score
294
Points
63
Memu,Nox в теме есть как подключать. Вот нашёл на просторах ещё варианты. Остальные варианты кто нибуть пробовал подключать? Понятно что скорее всего везде всё идентично, но хотелось бы попробовать все варианты.

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

Если кто то скинет настройки, буду благодарен. да и не только я. но это не точно :-)
 
  • Thank you
Reactions: Dorian_Gray

Sib

Новичок
Joined
Apr 19, 2021
Messages
24
Reaction score
2
Points
3
Добрый день!
А с учетом того, что топик начинается год назад вся эта история актульна?
 

LifeIsCool

Client
Joined
Dec 12, 2015
Messages
44
Reaction score
4
Points
8
Добрый день!
А с учетом того, что топик начинается год назад вся эта история актульна?
Актуальна, сам по ней работаю сейчас
 

Fog

Client
Joined
Apr 23, 2021
Messages
107
Reaction score
13
Points
18
я стесняюсь спросить. а как в нокс плеере (он мне понравился легкостью) на каждый запущенный процесс назначить свой сокс5 прокси сервер? (5 эмуляторов - у каждого свой прокси)
 

WLDN

Client
Joined
Jul 9, 2015
Messages
357
Reaction score
569
Points
93
я стесняюсь спросить. а как в нокс плеере (он мне понравился легкостью) на каждый запущенный процесс назначить свой сокс5 прокси сервер? (5 эмуляторов - у каждого свой прокси)
Можно приобрести мой плагин Droxy, он умеет это делать.
 

Nyaka_wai

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

WLDN

Client
Joined
Jul 9, 2015
Messages
357
Reaction score
569
Points
93
Доброго всем времени суток. Решил немного автоматизировать действия в MEMU (пока без консоли, просто автоматизация наборов действий в виде макросов) и столкнулся с какой-то непреодолимой проблемой в виде невозможности изнутри эмулятора получить содержимое глобального буфера обмена никак, кроме физического нажатия Ctrl+V в активном окне.
Подскажите пожалуйста, без использования внешнего adb есть ли возможность в самом эмуляторе вызвать глобальный буфер обмена? Возможно есть какой-то вариант обращение к их системному MemuIME?
Привет. Попробуй посмотреть решение из статьи Автоматизация Android часть 2. Там есть clipper. Возможно подойдет
 
  • Thank you
Reactions: orka13

Nyaka_wai

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

Koqpe

Client
Joined
Dec 23, 2014
Messages
1,099
Reaction score
648
Points
113
Хм, прочитал статью, не увидел никакого решения.
Теперь перечитай еще раз, всю. Смотрю в книгу...
 

Nyaka_wai

Новичок
Joined
Jun 14, 2021
Messages
5
Reaction score
0
Points
1
Теперь перечитай еще раз, всю. Смотрю в книгу...
Ещё раз пересмотрел. Да, действительно клиппер в конце упоминается на 30 секунд. Но его действия состоят в том, чтобы достать локальный буфер в переменную зеннопостера. А задача в том, чтобы прочитать глобальный буфер в эмуляторе без зеннопостера и адб.
 

WLDN

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

Nyaka_wai

Новичок
Joined
Jun 14, 2021
Messages
5
Reaction score
0
Points
1
К сожалению, не знаю чем отличается глобальный от локального, но можно написать свой .sh скрипт, который будет вызываться по какому-то триггеру. Но я подозреваю что этот способ из разряда сложноватых, но при желании можно реализовать
Ну локальный буфер, в моем понимании, это буфер самого эмулятора, а глобальный - буфер системы на pc. Memu сам достает в глобальный буфер все значения, которые копируются внутри эмулятора, к вот вводит только через ctrl+v (если попытаться вставить мышью, то вставится предыдущее скопированное в эмуляторе значени.
По поводу .sh скрипта интересно, но ведь если это реализуемо, то будет состоять из пары строчек. И одна из них должна быть нужной мне командой :-)
 

WLDN

Client
Joined
Jul 9, 2015
Messages
357
Reaction score
569
Points
93
Ну локальный буфер, в моем понимании, это буфер самого эмулятора, а глобальный - буфер системы на pc. Memu сам достает в глобальный буфер все значения, которые копируются внутри эмулятора, к вот вводит только через ctrl+v (если попытаться вставить мышью, то вставится предыдущее скопированное в эмуляторе значени.
По поводу .sh скрипта интересно, но ведь если это реализуемо, то будет состоять из пары строчек. И одна из них должна быть нужной мне командой :-)
Скорее всего да, код небольшой. Можно поэкспериментировать. Есть ещё memuc в папке с мему. Может там что есть. Но это работа опять же через cmd. То есть не подойдёт
 

Nyaka_wai

Новичок
Joined
Jun 14, 2021
Messages
5
Reaction score
0
Points
1
Скорее всего да, код небольшой. Можно поэкспериментировать. Есть ещё memuc в папке с мему. Может там что есть. Но это работа опять же через cmd. То есть не подойдёт
Ну в лучшем случае получится тоже самое, что и обычный ADB :D
 

aikostes

Client
Joined
Sep 8, 2020
Messages
35
Reaction score
1
Points
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

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

WLDN

Client
Joined
Jul 9, 2015
Messages
357
Reaction score
569
Points
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

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

radv

Client
Joined
May 11, 2015
Messages
3,854
Reaction score
2,084
Points
113
Все-таки не понимаю, чем отличается Android SDK от Android Studio
Что из них что, и можно ли android studio подружить с zennoposter?
Отвечал на этот вопрос тут.

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

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

Sib

Новичок
Joined
Apr 19, 2021
Messages
24
Reaction score
2
Points
3
  • Thank you
Reactions: Ruhas

Users Who Are Viewing This Thread (Total: 3, Members: 0, Guests: 3)