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

Не вводится русский текст командой

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();

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


C#:
Развернуть Свернуть Копировать
var a = project.Context["ADB"];

a.Swipe("10", "10", "10", "300", "100");
 
Здравствуйте! Подскажите пожалуйста как кликать на кнопку создания аккаунта если ее не определяет. Что-то я по кругу хожу, не получается найти элемент и кликнуть
 

Вложения

  • Снимок экрана (379).png
    Снимок экрана (379).png
    250,9 KB · Просмотры: 282
  • Спасибо
Реакции: webstudioNSS
можно пробовать клик по координатам
При изменении разрешения координаты поменяются. По этому не всегда удобно жесткая привязка к координатам
 
При изменении разрешения координаты поменяются. По этому не всегда удобно жесткая привязка к координатам
да я можно сказать недавно пытаюсь по статье сделать, но да, с координатами сегодня целый день война, пока не поборол
 
При изменении разрешения координаты поменяются. По этому не всегда удобно жесткая привязка к координатам
Это да. Поэтому можно или использовать одинаковое разрешение или использовать вычисление по формуле с пропорциями. А еще у фейсбука айдишники шифруются, поэтому привязаться к ним нельзя, и нужно использовать другие способы составления xpath к нужному элементу.
 
В Windows не существует программы grep
и эту команду выполнить невозможно
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp

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

Эта часть команды тоже не рабочая
"mFocusedApp'" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
 
Последнее редактирование:
В Windows не существует программы grep
и эту команду выполнить невозможно
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp
Почитайте или посмотрите видео (на ютуб) про основы работы с adb командами и консолью windows
 
В 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
Это да. Поэтому можно или использовать одинаковое разрешение или использовать вычисление по формуле с пропорциями. А еще у фейсбука айдишники шифруются, поэтому привязаться к ним нельзя, и нужно использовать другие способы составления xpath к нужному элементу.
ФБ писать надо либо на апиуме либо под 1 конкретный язык тогда нет глобальных проблем
 
В Windows не существует программы grep
и эту команду выполнить невозможно
adb shell dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp

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

Эта часть команды тоже не рабочая
"mFocusedApp'" не является внутренней или внешней
командой, исполняемой программой или пакетным файлом.
Вы можете не пользоваться этой статьёй, если не хотите. :-) Я не принуждаю :bt:
 
Здравствуйте! Подскажите пожалуйста как кликать на кнопку создания аккаунта если ее не определяет. Что-то я по кругу хожу, не получается найти элемент и кликнуть
Там на мгновение только открыто полное дерево, поэтому либо ловить при двойном входе, либо тап по координатам. Дальше на след этапах дерево раскрывается полностью.
 
  • Спасибо
Реакции: webstudioNSS
Там на мгновение только открыто полное дерево, поэтому либо ловить при двойном входе, либо тап по координатам. Дальше на след этапах дерево раскрывается полностью.
я и не знал, спасибо большое
 
Вы можете не пользоваться этой статьёй, если не хотите. :-) Я не принуждаю :bt:

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

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

Как подсказали в комментариях - возможно
adb shell
dumpsys window windows | grep -E 'mCurrentFocus|mFocusedApp'
Хорошо, не пользуйтесь как написано в статье :-)
 
Спасибо большое. Также я выкладывал обновлённую библиотеку для работы с кириллицой в "Автоматизация Android без посредников. Часть 2"
Приветствую... перезалил библиотеку для работы с кирилицой, но текст из переменной ZP так и не вводится в форму эмулятора андроид... Пробовал кодировку менять при помощи URL ENCODE в переменной... эфекта 0

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

Сейчас копаю в сторону Appiumиз другой статьи... может он сможет ввести текст...
 
Приветствую... перезалил библиотеку для работы с кирилицой, но текст из переменной ZP так и не вводится в форму эмулятора андроид... Пробовал кодировку менять при помощи URL ENCODE в переменной... эфекта 0

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

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


Зачем гуглить если в теме есть ответ

=))) Прочитаю на досуге еще раз 17 страниц ... =)))
 
так гуглить можно с поиском на определенном сайте )
Загуглите как это делать ))
Ну из всех моих размышлений я понял что дело в кодировке пробовал этот код


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)); //ввод текста

Все равно ничего не ввелось , так же пробовал просто в переменную добавить "Ðаказ звонка ÑеÑниÑеÑкой поддеÑжки"так же не помогло...
 
У кого не работает Ui automator , особенно при работе с реальным устройством
ставим целиком актуальную Android Studio в которой есть Android SDK
древние версии Android SDK проблемные.
пути примерно такие
AppData\Local\Android\Sdk
AppData\Local\Android\Sdk\platform-tools
 
Ну из всех моих размышлений я понял что дело в кодировке пробовал этот код


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)); //ввод текста

Все равно ничего не ввелось , так же пробовал просто в переменную добавить "Ðаказ звонка ÑеÑниÑеÑкой поддеÑжки"так же не помогло...
 
У кого не работает Ui automator , особенно при работе с реальным устройством
ставим целиком актуальную Android Studio в которой есть Android SDK
древние версии Android SDK проблемные.
пути примерно такие
AppData\Local\Android\Sdk
AppData\Local\Android\Sdk\platform-tools
а зачем так пути усложнять. Проблем с Ui automator выше крыши но все решаемо
 

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