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

Cthutq899

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

C#:
a.Text(name); //ввод текста
вместо него => ????????

Английские буквы и цыфры вводятся норм...

Пробовал эту команду, она ничего не вводит...

C#:
var sv = project.Variables["device"].Value;
var text = project.Variables["Nazvanie"].Value;
//sv это серийник устройства для многопотока вида 127.0.0.1:21521

ProcessStartInfo startInfo1 = new ProcessStartInfo();
startInfo1.FileName = "adb.exe";
startInfo1.Arguments = "-s "+sv+" shell am broadcast -a ADB_INPUT_TEXT --es msg 'Text'";
startInfo1.WindowStyle = ProcessWindowStyle.Hidden;
Process.Start(startInfo1).WaitForExit();
Помогите разобраться плз...
И не введет для этого другая команда
 

morfeus

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

morfeus

Client
Регистрация
23.02.2012
Сообщения
171
Благодарностей
28
Баллы
28
Может кто то реализовывал ? долгое нажатие + свайп вниз.
Задача банальная нажать и "потянуть" вниз по координатам.
С какой стороны зайти к данному вопросу?
Посмотреть вложение 80363
Может быть это поможет - открывает шторку уведомлений...


C#:
var a = project.Context["ADB"];

a.Swipe("10", "10", "10", "300", "100");
 

webstudioNSS

Client
Регистрация
30.01.2020
Сообщения
44
Благодарностей
6
Баллы
8
Здравствуйте! Подскажите пожалуйста как кликать на кнопку создания аккаунта если ее не определяет. Что-то я по кругу хожу, не получается найти элемент и кликнуть
 

Вложения

radv

Client
Регистрация
11.05.2015
Сообщения
3 789
Благодарностей
1 954
Баллы
113

webstudioNSS

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

radv

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

Cthutq899

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

webstudioNSS

Client
Регистрация
30.01.2020
Сообщения
44
Благодарностей
6
Баллы
8
При изменении разрешения координаты поменяются. По этому не всегда удобно жесткая привязка к координатам
да я можно сказать недавно пытаюсь по статье сделать, но да, с координатами сегодня целый день война, пока не поборол
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 789
Благодарностей
1 954
Баллы
113
При изменении разрешения координаты поменяются. По этому не всегда удобно жесткая привязка к координатам
Это да. Поэтому можно или использовать одинаковое разрешение или использовать вычисление по формуле с пропорциями. А еще у фейсбука айдишники шифруются, поэтому привязаться к ним нельзя, и нужно использовать другие способы составления xpath к нужному элементу.
 

sten30

Client
Регистрация
05.09.2017
Сообщения
258
Благодарностей
31
Баллы
28
В Windows не существует программы grep
и эту команду выполнить невозможно
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp

Отличная идея написать инструкцию для Windows программы ZennoPoster с командами для Linux

Эта часть команды тоже не рабочая
"mFocusedApp'" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
 
Последнее редактирование:

radv

Client
Регистрация
11.05.2015
Сообщения
3 789
Благодарностей
1 954
Баллы
113
В Windows не существует программы grep
и эту команду выполнить невозможно
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp
Почитайте или посмотрите видео (на ютуб) про основы работы с adb командами и консолью windows
 

Cthutq899

Client
Регистрация
03.09.2019
Сообщения
168
Благодарностей
45
Баллы
28
В Windows не существует программы grep
и эту команду выполнить невозможно
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp

Отличная идея написать инструкцию для Windows программы ZennoPoster с командами для Linux

Эта часть команды тоже не рабочая
"mFocusedApp'" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Все нормально получается нет не каких проблем
adb shell
dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp
 
  • Спасибо
Реакции: wwwin и sten30

Cthutq899

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

radv

Client
Регистрация
11.05.2015
Сообщения
3 789
Благодарностей
1 954
Баллы
113

WLDN

Client
Регистрация
09.07.2015
Сообщения
357
Благодарностей
566
Баллы
93
В Windows не существует программы grep
и эту команду выполнить невозможно
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp

Отличная идея написать инструкцию для Windows программы ZennoPoster с командами для Linux

Эта часть команды тоже не рабочая
"mFocusedApp'" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Вы можете не пользоваться этой статьёй, если не хотите. :-) Я не принуждаю :bt:
 

WLDN

Client
Регистрация
09.07.2015
Сообщения
357
Благодарностей
566
Баллы
93
Здравствуйте! Подскажите пожалуйста как кликать на кнопку создания аккаунта если ее не определяет. Что-то я по кругу хожу, не получается найти элемент и кликнуть
Там на мгновение только открыто полное дерево, поэтому либо ловить при двойном входе, либо тап по координатам. Дальше на след этапах дерево раскрывается полностью.
 
  • Спасибо
Реакции: webstudioNSS

webstudioNSS

Client
Регистрация
30.01.2020
Сообщения
44
Благодарностей
6
Баллы
8
Там на мгновение только открыто полное дерево, поэтому либо ловить при двойном входе, либо тап по координатам. Дальше на след этапах дерево раскрывается полностью.
я и не знал, спасибо большое
 

sten30

Client
Регистрация
05.09.2017
Сообщения
258
Благодарностей
31
Баллы
28
Вы можете не пользоваться этой статьёй, если не хотите. :-) Я не принуждаю :bt:
Как написано в статье пользоваться невозможно
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'

Как подсказали в комментариях - возможно
adb shell
dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
 

WLDN

Client
Регистрация
09.07.2015
Сообщения
357
Благодарностей
566
Баллы
93
Как написано в статье пользоваться невозможно
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'

Как подсказали в комментариях - возможно
adb shell
dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
Хорошо, не пользуйтесь как написано в статье :-)
 

morfeus

Client
Регистрация
23.02.2012
Сообщения
171
Благодарностей
28
Баллы
28
Спасибо большое. Также я выкладывал обновлённую библиотеку для работы с кириллицой в "Автоматизация Android без посредников. Часть 2"
Приветствую... перезалил библиотеку для работы с кирилицой, но текст из переменной ZP так и не вводится в форму эмулятора андроид... Пробовал кодировку менять при помощи URL ENCODE в переменной... эфекта 0

Что я делаю не так ? Сколько гуглил так толком и не понял можно ли через adb отправлять кирилицу или это не возможно ?

Сейчас копаю в сторону Appiumиз другой статьи... может он сможет ввести текст...
 

WLDN

Client
Регистрация
09.07.2015
Сообщения
357
Благодарностей
566
Баллы
93
Приветствую... перезалил библиотеку для работы с кирилицой, но текст из переменной ZP так и не вводится в форму эмулятора андроид... Пробовал кодировку менять при помощи URL ENCODE в переменной... эфекта 0

Что я делаю не так ? Сколько гуглил так толком и не понял можно ли через adb отправлять кирилицу или это не возможно ?

Сейчас копаю в сторону Appiumиз другой статьи... может он сможет ввести текст...
Привет. Эта библиотека не умеет вводить текст на Кириллице, она нужна для того, чтобы XPath работал с русским языком. Если необходимо, то сниппет для ввода русского языка можно приобрести у меня.
 
  • Спасибо
Реакции: morfeus

ex3maL

Client
Регистрация
22.05.2020
Сообщения
359
Благодарностей
267
Баллы
63
Сколько гуглил так толком и не понял можно ли через adb отправлять кирилицу или это не возможно ?
все возможно и через АДБ, отправляется отлично. Плохо гуглил.
 

Cthutq899

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

morfeus

Client
Регистрация
23.02.2012
Сообщения
171
Благодарностей
28
Баллы
28
Привет. Эта библиотека не умеет вводить текст на Кириллице, она нужна для того, чтобы XPath работал с русским языком. Если необходимо, то сниппет для ввода русского языка можно приобрести у меня.
Можно цену в ЛС


Зачем гуглить если в теме есть ответ
=))) Прочитаю на досуге еще раз 17 страниц ... =)))
 

radv

Client
Регистрация
11.05.2015
Сообщения
3 789
Благодарностей
1 954
Баллы
113

morfeus

Client
Регистрация
23.02.2012
Сообщения
171
Благодарностей
28
Баллы
28
так гуглить можно с поиском на определенном сайте )
Загуглите как это делать ))
Ну из всех моих размышлений я понял что дело в кодировке пробовал этот код


C#:
var a = project.Context["ADB"];
string text = project.Variables["Nazvanie"].Value; // в переменной Text значение - Заказ звонка технической поддержки
Encoding utf8 = Encoding.GetEncoding("ISO-8859-1");
Encoding win1251 = Encoding.GetEncoding("UTF-8");
byte[] utf8Bytes = win1251.GetBytes(text);
byte[] win1251Bytes = Encoding.Convert(utf8, win1251, utf8Bytes);
return win1251.GetString(win1251Bytes); // Результат: Ðаказ звонка ÑеÑниÑеÑкой поддеÑжки


a.Text(win1251.GetString(win1251Bytes)); //ввод текста
Все равно ничего не ввелось , так же пробовал просто в переменную добавить "Ðаказ звонка ÑеÑниÑеÑкой поддеÑжки"так же не помогло...
 

sten30

Client
Регистрация
05.09.2017
Сообщения
258
Благодарностей
31
Баллы
28
У кого не работает Ui automator , особенно при работе с реальным устройством
ставим целиком актуальную Android Studio в которой есть Android SDK
древние версии Android SDK проблемные.
пути примерно такие
AppData\Local\Android\Sdk
AppData\Local\Android\Sdk\platform-tools
 

Cthutq899

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


C#:
var a = project.Context["ADB"];
string text = project.Variables["Nazvanie"].Value; // в переменной Text значение - Заказ звонка технической поддержки
Encoding utf8 = Encoding.GetEncoding("ISO-8859-1");
Encoding win1251 = Encoding.GetEncoding("UTF-8");
byte[] utf8Bytes = win1251.GetBytes(text);
byte[] win1251Bytes = Encoding.Convert(utf8, win1251, utf8Bytes);
return win1251.GetString(win1251Bytes); // Результат: Ðаказ звонка ÑеÑниÑеÑкой поддеÑжки


a.Text(win1251.GetString(win1251Bytes)); //ввод текста
Все равно ничего не ввелось , так же пробовал просто в переменную добавить "Ðаказ звонка ÑеÑниÑеÑкой поддеÑжки"так же не помогло...
 

Cthutq899

Client
Регистрация
03.09.2019
Сообщения
168
Благодарностей
45
Баллы
28
У кого не работает Ui automator , особенно при работе с реальным устройством
ставим целиком актуальную Android Studio в которой есть Android SDK
древние версии Android SDK проблемные.
пути примерно такие
AppData\Local\Android\Sdk
AppData\Local\Android\Sdk\platform-tools
а зачем так пути усложнять. Проблем с Ui automator выше крыши но все решаемо
 

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