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

usawa0

Client
Регистрация
29.11.2019
Сообщения
59
Благодарностей
22
Баллы
8
За ранее извиняюсь. Тема неслабо интересует и, вроде как, имею понятие о Xpath, но не могу войти в Google Play
a.Wait("//node[@resource-id='com.android.vending:id/0_resource_name_obfuscated' and @class='android.widget.Button']", 3, 10);
буду благодарен за любую зацепку, т.к хочу понять принцип
82949
 

webstudioNSS

Client
Регистрация
30.01.2020
Сообщения
44
Благодарностей
6
Баллы
8
За ранее извиняюсь. Тема неслабо интересует и, вроде как, имею понятие о Xpath, но не могу войти в Google Play
a.Wait("//node[@resource-id='com.android.vending:id/0_resource_name_obfuscated' and @class='android.widget.Button']", 3, 10);
буду благодарен за любую зацепку, т.к хочу понять принцип
Посмотреть вложение 82949
wait это просто ты проверяешь есть ли текст
var a = project.Context["ADB"];
a.Click("//node[contains(@text, 'ТЕКСТ КНОПКИ') and @class='android.widget.Button']", 0, 10);
 
  • Спасибо
Реакции: usawa0

usawa0

Client
Регистрация
29.11.2019
Сообщения
59
Благодарностей
22
Баллы
8

webstudioNSS

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

baracuda

Client
Регистрация
19.06.2013
Сообщения
792
Благодарностей
277
Баллы
63
Привет всем.

Кто нибуть работал с буфером обмена ? и переменной брать текст и вставлять в поле ввода(к примеру логин). Собственно вопрос как это сделать.

Заранее спасибо
 
  • Спасибо
Реакции: udder

amyboose

Client
Регистрация
21.04.2016
Сообщения
2 312
Благодарностей
1 191
Баллы
113
Сегодня начал изучать тему и сразу же заметка, что библиотека в данной теме не оригинальная, а модифицированная автором
 
Последнее редактирование:
  • Спасибо
Реакции: pym933

radv

Client
Регистрация
11.05.2015
Сообщения
3 785
Благодарностей
1 949
Баллы
113
  • Спасибо
Реакции: westruk и amyboose

orka13

Client
Регистрация
07.05.2015
Сообщения
2 177
Благодарностей
2 183
Баллы
113
Привет всем.

Кто нибуть работал с буфером обмена ? и переменной брать текст и вставлять в поле ввода(к примеру логин). Собственно вопрос как это сделать.

Заранее спасибо
Я вот тоже ищу, но в гугле в основном спрашивают как передать а не получить буфер обмена по ADB. Рабочий вариант вот такой через отдельное APK нашел:
Если есть проще метод без APK то ткните кто-то носом. service call clipboard 1 пробовал, он возвращает ошибку.
 
  • Спасибо
Реакции: baracuda

trecho

Client
Регистрация
12.07.2018
Сообщения
171
Благодарностей
124
Баллы
43
Получаем текст уведомлений через adb
a.Command("dumpsys notification --noredact | grep -E \"opPkg|android.text|android.title|android.subtext\"", true);
На выходе будет
C#:
      opPkg=org.telegram.messenger
          android.title=String ( Напоминание)
          android.text=String (11010000 10111011 11010000 10111110 11010001 10000101)
      opPkg=com.arlosoft.macrodroid
          android.title=String (MacroDroid)
          android.text=String (Режим: Обычный)
      opPkg=moe.haruue.wadb
          android.title=String (Беспроводной adb включен)
          android.text=String (192.168.1.1:5555)
 
  • Спасибо
Реакции: Dorian_Gray и kane16

Gang

Client
Регистрация
04.04.2010
Сообщения
579
Благодарностей
313
Баллы
63
Хочу отловить события клика и возможно каких-то сопутствующих событий на эмуляторе Memu. Но по каманде
adb shell getevent выдет только события перемещения курсора мышки в окне эмулятора. События кликов и ввода с клавиатуры не отображает. Кто в курсе, как получить данные события?
 

simbioz

Client
Регистрация
31.08.2014
Сообщения
150
Благодарностей
27
Баллы
28
var a = project.Context["ADB"];
a.StartApp("com.google.android.youtube/com.google.android.apps.youtube.app.WatchWhileActivity"); //запуск приложения
// в CMD получить наименование текущего окна, которое нужно вставить в этот запрос
// adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'

Скажите плиз поподробнее как это сделать?
// в CMD получить наименование текущего окна, которое нужно вставить в этот запрос
 

qweqwe5435

Client
Регистрация
12.02.2017
Сообщения
70
Благодарностей
37
Баллы
18
var a = project.Context["ADB"];
a.StartApp("com.google.android.youtube/com.google.android.apps.youtube.app.WatchWhileActivity"); //запуск приложения
// в CMD получить наименование текущего окна, которое нужно вставить в этот запрос
// adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'

Скажите плиз поподробнее как это сделать?
// в CMD получить наименование текущего окна, которое нужно вставить в этот запрос
Открываешь коммандную строку, вводишь adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp' и жмешь Enter. Тебе выдаст активити, которое нужно вставить в код.
 
  • Спасибо
Реакции: simbioz

Cthutq899

Client
Регистрация
03.09.2019
Сообщения
168
Благодарностей
45
Баллы
28
Открываешь коммандную строку, вводишь adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp' и жмешь Enter. Тебе выдаст активити, которое нужно вставить в код.
Пусть читают тему. Здесь этот вопрос обсуждался раз 10
 

simbioz

Client
Регистрация
31.08.2014
Сообщения
150
Благодарностей
27
Баллы
28
2 дня мучаюсь, подскажите пожалуйста как этот гребаный тик ток запустить? в resource-id пусто!
Снимок экрана 2021-12-17 145127.png
 

webstudioNSS

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

radv

Client
Регистрация
11.05.2015
Сообщения
3 785
Благодарностей
1 949
Баллы
113
А еще прилы могут менять верстку, и расположение визуально такое же, а в дереве количество элементво и их порядок может отличаться
 

simbioz

Client
Регистрация
31.08.2014
Сообщения
150
Благодарностей
27
Баллы
28
Прилы, такие как тик ток или Фейсбук скрывают id. Используй другие элементы, например class
У меня и на Ютуб тоже пустое поле в resource-id
А у автора статьи все норм с Ютубом
 

webstudioNSS

Client
Регистрация
30.01.2020
Сообщения
44
Благодарностей
6
Баллы
8
У меня и на Ютуб тоже пустое поле в resource-id
А у автора статьи все норм с Ютубом
Ну так когда статься вышла и какая была тогда версия YouTube и сейчас какая. Приложений обновления штампуют каждый месяц
 

simbioz

Client
Регистрация
31.08.2014
Сообщения
150
Благодарностей
27
Баллы
28
Ну так когда статься вышла и какая была тогда версия YouTube и сейчас какая. Приложений обновления штампуют каждый месяц
var a = project.Context["ADB"];
a.StartApp("com.google.android.youtube/com.google.android.apps.youtube.app.WatchWhileActivity"); //запуск приложения
// в CMD получить наименование текущего окна, которое нужно вставить в этот запрос
// adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'

Скажи плиз откуда взяли это:
a.StartApp("com.google.android.youtube/com.google.android.apps.youtube.app.WatchWhileActivity"); //запуск приложения
 

webstudioNSS

Client
Регистрация
30.01.2020
Сообщения
44
Благодарностей
6
Баллы
8
var a = project.Context["ADB"];
a.StartApp("com.google.android.youtube/com.google.android.apps.youtube.app.WatchWhileActivity"); //запуск приложения
// в CMD получить наименование текущего окна, которое нужно вставить в этот запрос
// adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'

Скажи плиз откуда взяли это:
a.StartApp("com.google.android.youtube/com.google.android.apps.youtube.app.WatchWhileActivity"); //запуск приложения
Так из этих строчек кода, все берется из cmd, когда вводишь команду adb shell dumpsys window windows изучи то что выведется в окне, все вопросы сразу исчезнут + советую перечитать тему с самого начала, с первого раза мало кто сразу понимает, нужно неск раз вчитываться
 
  • Спасибо
Реакции: simbioz

Cthutq899

Client
Регистрация
03.09.2019
Сообщения
168
Благодарностей
45
Баллы
28

Cthutq899

Client
Регистрация
03.09.2019
Сообщения
168
Благодарностей
45
Баллы
28

Вложения

  • Спасибо
Реакции: simbioz

Cthutq899

Client
Регистрация
03.09.2019
Сообщения
168
Благодарностей
45
Баллы
28
А еще прилы могут менять верстку, и расположение визуально такое же, а в дереве количество элементво и их порядок может отличаться
он его запустить не может какая автоматизация
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 785
Благодарностей
1 949
Баллы
113
  • Спасибо
Реакции: simbioz

simbioz

Client
Регистрация
31.08.2014
Сообщения
150
Благодарностей
27
Баллы
28

Cthutq899

Client
Регистрация
03.09.2019
Сообщения
168
Благодарностей
45
Баллы
28
Я шикарно все делаю на пост и гет запросах, а этого просто не делал еще, изучаю.
Запросы и эмули в априори разное. В теме есть ответ на 90% вопросов которые могут возникнуть в начале. 10% ответит гугл. Просто некто не хочет читать, а сразу задают вопросы.
 

Gang

Client
Регистрация
04.04.2010
Сообщения
579
Благодарностей
313
Баллы
63
  • Спасибо
Реакции: simbioz

simbioz

Client
Регистрация
31.08.2014
Сообщения
150
Благодарностей
27
Баллы
28
var a = project.Context["ADB"];
a.StartApp("com.google.android.youtube/com.google.android.apps.youtube.app.WatchWhileActivity"); //запуск приложения
// в CMD получить наименование текущего окна, которое нужно вставить в этот запрос
// adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'

Скажите плиз поподробнее как это сделать?
// в CMD получить наименование текущего окна, которое нужно вставить в этот запрос
Все оказалось так просто, во всем разобрался, уже накатал шаб, ну все пипец бабок срублю)) Автор красава, спасибо всем!!!
 

simbioz

Client
Регистрация
31.08.2014
Сообщения
150
Благодарностей
27
Баллы
28
Всем привет, столкнулся с проблемой загрузкой видосов, подскажите как сделать из переменной плиз
У автора так:
var a = project.Context["ADB"];
a.UploadFromVar("/storage/sdcard0/ZennoLab.txt", "ZennoLab TEST");

А мне надо так:
var a = project.Context["ADB"];
a.UploadFromVar("/storage/sdcard0/project.Variables["video2"].Value, "project.Variables["video2"].Value");

video2 - это переменная
Или как-то вообще по другому это сделать

Не работает(
 

simbioz

Client
Регистрация
31.08.2014
Сообщения
150
Благодарностей
27
Баллы
28
Подскажите какой код нужен для установки юзер агента из переменной?
 

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