
Автозаполнение полей с помощью Adb и внешних инструментов
18 февраля 2023 г.Я написал предыдущую статью, в которой рассказывается о том, как ускорить выполнение однотипных операций по заполнению полей с помощью скрипта kotlin (kts). Несмотря на все свои преимущества, автозаполнение можно еще больше ускорить с помощью низкоуровневого языка bash и использования горячих клавиш.
Выбор примера
Мы будем использовать тот же пример, что и в последней статье. .
Вы можете скачать полный код здесь:
https://gist.github.com/d8b96ef6d97927e811cfa292071d824a
https://gist.github.com/6616b63942b3ec90ccf1fb4ad0329953
https://gist.github.com/2c1a7e43b0b2d38c21af75d139e6ac4d
Напомню, что для перехода на MainActivity поля должны быть заполнены, а их значения должны соответствовать определенным требованиям:
электронная почта: login@gmail.com
тел.: +1 650 123 4567
пароль: 123456
Вот видео, как это выглядит, если поля заполняются вручную:
Также в прошлой статье мы нашли все необходимые команды adb для заполнения всех текстовых полей и нажатия на кнопку. Вот полный список:
adb shell input tap 72 1092
adb shell input text 'login@gmail.com'
adb shell input tap 72 1227
adb shell input text '+1 650 123 4567'
adb shell input tap 72 1362
adb shell input text 123456
adb shell input tap 72 1497
Настройка внешних инструментов для одной команды
Попробуем сначала заполнить одну строку. Для этого мы будем использовать связку инструментов Внешние инструменты + Adb + bash.
Давайте запустим LoginActivity и коснёмся поля с помощью терминала:
adb shell input tap 72 1092
Все должно работать.
Далее мы идем: Android Studio > Настройки > Инструменты > Внешние инструменты.
Это инструмент, который позволяет запускать команды и внешние скрипты или программы внутри Android Studio. Вы также можете передавать туда аргументы.
Однако есть ряд ограничений по сравнению с терминалом. Например, вы не можете передать несколько команд.
Вы можете прочитать больше здесь.
Давайте разбираться.
Нажмите на значок Добавить («+»). Введем следующие значения:
Имя: my_adb
Программа: /Users/{ваше имя}/Library/Android/sdk/platform-tools/adb
Аргументы: adb shell input tap 72 1092 (вставьте всю строку)
Рабочий каталог: $ProjectFileDir$ (обычно добавляется сам)
Давайте сэкономим:
Теперь перейдите к: Инструменты > Внешние инструменты > мой_adb
Если все сделано правильно, должно запуститься окно терминала и команда будет выполнена.
Поразительно, что команда adb выполнялась намного быстрее, чем скрипт kotlin.
Настройка внешних инструментов для нескольких последовательных команд
Нам удалось выполнить одну команду adb с помощью внешних инструментов. Однако реальность такова, что чаще всего необходимо вводить несколько последовательных команд.
Давайте попробуем этого добиться.
Вернемся к окну редактирования команды. Как видите, здесь нельзя ввести более одной команды:
n
На это также указывает официальная поддержка Jet Brains
Но, напомню, что для достижения результата нам нужно ввести список команд:
adb shell input tap 72 1092
adb shell input text 'login@gmail.com'
adb shell input tap 72 1227
adb shell input text '+1 650 123 4567'
adb shell input tap 72 1362
adb shell input text 123456
adb shell input tap 72 1497
Для этого есть обходной путь: создайте bash-скрипт и вставьте в него эти команды. И через External Tools запустить этот скрипт. Вот что мы сделаем:
- Откройте текстовый редактор
- Вставьте туда строки
- Сохранить как my_bash.bash
- Выполните команду chmod +x /Users/{ваше имя}/Downloads/my_bash.bash
Вставьте путь в терминал и попробуйте выполнить через него:
Если все сделано правильно, команда должна выполниться, а поля на устройстве должны быть заполнены.
- Затем перейдите в раздел Android Studio > Настройки > Инструменты > Внешние инструменты.
- Создание новой команды:
Имя: my_bash
Программа: /Users/{ваше имя}/Downloads/my_bash.bash (путь к файлу)
- Сохранить
- Выполнить Инструменты > Внешние инструменты > мой_баш.
Если все сделано правильно, команда должна выполниться, а поля на устройстве должны быть заполнены.
На видео это выглядит примерно так:
https://youtube.com/shorts/R484DB_RScc?feature=share р>
Видно, что поля заполняются в разы быстрее, чем при ручном вводе.
Как и в случае со скриптом kotlin, если вам нужно время от момента ввода одной команды до другой, вы можете установить задержку сна (сек).
adb shell input tap 72 1092
sleep 1
adb shell input text 'login@gmail.com'
Есть еще одна оптимизация, которую можно сделать — установить горячие клавиши для конкретной команды.
Для этого перейдите в Android Studio > Настройки > Карта ключей > Внешние инструменты > Внешние инструменты.
Далее найдите команду и установите горячие клавиши, например, в моем случае Control+Option+Command+B.
Сохранить.
Попробуйте выполнить это и убедитесь, что все работает. Это второе преимущество по сравнению с скриптом kotlin — вы можете установить горячие клавиши для выполнения команды.
Заключение
Небольшая оптимизация часто повторяющихся операций в процессе разработки приводит к долгосрочной экономии времени и ресурсов. В примере, рассмотренном в этой статье , мы сэкономили время, автоматически заполнив поля авторизации с помощью скрипта kotlin, выиграв несколько десятков секунд. В текущем примере мы сэкономили еще несколько секунд, используя язык более низкого уровня и горячие клавиши. Через год сэкономленные секунды превратятся в часы.
Оригинал
Recent Post
-
Почему помощники по кодированию ИИ все еще борются с разработкой мобильных приложений
7 августа 2025 г. -
Подходы к локализации, которую должна знать каждая инженерная команда в 2025 году.
25 июня 2025 г. -
Запуск фоновых задач в Android с помощью WorkManager: часть 3
5 мая 2023 г. -
Современный способ создания приложения для Android из исходного кода в среде AOSP
29 апреля 2023 г. -
Запуск фоновых задач в Android с помощью WorkManager: часть 2
21 апреля 2023 г.
Categories
- Python
- blockchain
- web
- hackernoon
- вычисления
- вычислительные компоненты
- цифровой дом
- игры
- аудио
- домашний кинотеатр
- Интернет
- Мобильные вычисления
- сеть
- фотосъемка видео
- портативные устройства
- программного обеспечения
- телефон и связь
- телевидение
- видео
- мир технологий
- умные гиды
- облако
- искусственный интеллект
- се
- Samsung
- умные города
- digitaltrends
- отели
- Startups
- Venture
- Crypto
- Apps
- безопасность
- техника и работа
- cxo
- мобильность
- разработчик
- 5г
- майкрософт
- инновации
- Права и свободы
- Законодательство и право
- Политика и общество
- Космическая промышленность
- Информационные технологии
- Технологии
- Образование
- Научные исследования
- Автомобильная промышленность
- Программная инженерия
- IT и технологии
- Веб-разработка
- Программирование
- Автоматизация
- Карьерный рост
- Программирование и анализ данных
- Трудоустройство
- Политика
- Искусственный интеллект
- ИТ-технологии
- Программное обеспечение
- Экологическая политика
- Образование и рынок труда
- Политика и право
- Microsoft Teams и SharePoint
- Информационная безопасность
- Кибербезопасность
- Налоги
- Образование и карьера
- Интернет и технологии
- Технологии, Государственные услуги
- Политика и технологии
- Разработка программного обеспечения
- Разработка ПО
- Машинное обучение
- Налогообложение, технологии, открытый исходный код
- Финансы и налоги
- Технологии, Интернет, Экология
- Интернет, безопасность
- Технологии и политика
- Операционные системы
- Профессиональная разработка
- Технологии, Безопасность
- Интернет и общество
- Финансовая индустрия
- Налоговый учёт
- Общественное здравоохранение
- Технологическая отрасль
- Юриспруденция
- Технологии и государство
- Здоровье и фитнес
- IT-инфраструктура
- Технологии и ИИ
- Здравоохранение
- IT
- Технологии, Экономика
- Музыка и технологии
- Здоровье и питание
- IT и безопасность
- Бизнес и предпринимательство
- Технологии, Программное обеспечение
- Технологии и инновации
- Технологии, данные, этика
- Технологии и Интернет
- Технологии и SaaS
- Медицина и здравоохранение
- Онлайн-видеосервисы
- Финансы и технологии
- Чтение и саморазвитие
- Экономика и бизнес
- Безопасность данных
- Удаленная работа
- Авиация и технологии
- Технологии, Игры
- Энергетика
- Социальные сети, безопасность, технологии
- Саморазвитие
- Безопасность информации
- Бизнес и карьера
- Технологии и отношения
- Игровая индустрия
- Компьютерная индустрия
- Математика, Искусственный интеллект
- Наука и технологии
- Технологии и безопасность
- Технологии, Удаленная работа, Бизнес
- Видеоигры
- Технологии, Искусственный интеллект, Этика
- Технологии, социальные сети, 6G
- Технологии, Программирование, AI, Разработка ПО
- Программирование, Разработка ПО, Технологии
- Животные
- Технологии, Искусственный интеллект
- Программирование, карьера, технологии, обучение
- Бизнес и технологии
- Технологии, Безопасность данных
- Астрономия и физика
- Продуктивность, личное развитие
- Медиа и Технологии
- Программирование и Искусственный Интеллект
- Социальные сети
- Политика и экономика
- Технологии, Медицина, Искусственный интеллект
- Технологии и управление
- Космос и астрономия
- Общество и политика
- Космические исследования
- Веб-дизайн
- Искусственный интеллект и безопасность данных
- Технологии, Безопасность, Конфиденциальность
- Экологическая проблема
- Технологии, Погода
- Авиация
- Транспортная сфера
- Технологии и бизнес
- Игровая промышленность
- Телевидение и реклама
- Аналитика данных
- Технологии и кибербезопасность
- Маркетинг
- Технологии и гаджеты
- Технологии, Авиация, Инновации
- Финансы и инвестиции
- Технологии и общество
- Рыночный анализ
- Космология
- Данные и бизнес
- IT и программирование
- Технологии и право
- Программирование и разработка
- Астрофизика
- Медицинские технологии
- Авиационная промышленность
- Технологии и искусственный интеллект
- Генетическая инженерия
- Бизнес и инвестиции
- Компьютерная промышленность
- Психология и социология
- Образование и технологии
- Рынок труда
- Технологии, Стартапы
- Технологии, Приватность, Чтение
- Маркетинг и продажи
- Виртуальная реальность
- Технологии, Смартфоны, Маркетинг
- Технологии, Бизнес, Личностный рост
- Экологические проблемы
- Экономика и технологии
- IT и карьера
- Интернет и безопасность
- Разработка и технологии
- Биотехнологии
- Интернет-магазины, кибербезопасность
- Финансы
- Безопасность и технологии
- Экономика
- Защита данных
- Data Science
- Карьера и работа
- Финансовый успех, мошенничество, маркетинг
- Безопасность
- Экология
- Космическая индустрия
- Программирование, Python, Обучение
- Технологии искусственного интеллекта
- Технологии, Дизайн, iOS
- Программирование, DevOps, Kubernetes
- Социальные сети и пропаганда
- Корпоративная этика
- Управление IT-инфраструктурой
- Здоровье и медицина
- Медицина
- Медицинская промышленность
- Разработка и дизайн
- Искусственный интеллект, Диагностика систем
- Образование и психология
- Технологии, Автомобильная промышленность
- Автомобили и путешествия
- Астрономия и космология
- Программирование и технологии
- IT, работа в офисе, эмоциональный интеллект
- Компьютерная техника
- Здоровье и благополучие
- Управление персоналом
- Политика и управление
- Бизнес и экономика
- Социальные сети, Пропаганда, Информационная безопасность
- Технологии и автоматизация
- Геймдизайн
- Экология и технологии
- CRM-системы, IT-инфраструктура
- Права человека
- Цифровая цензура, свобода слова, технологии
- Технологии, Искусственный интеллект, Работа
- Наука о данных
- Астрономия, Наука
- Интернет и цифровые технологии
- Технологии, управление
- Интернет и связь
- Технологии и конфиденциальность
- Интернет и свобода слова
- Психология и социальные науки
- Книги и литература
- Работа и карьера
- Финансовые технологии
- Психология и саморазвитие
- IT, программирование, сети
- Технологии, Видеоигры
- Экология и энергетика
- Космонавтика
- Медицина и технологии
- Игры и развлечения
- Музыкальная индустрия
- Логистика и складирование
- Бизнес и финансы
- Экология и окружающая среда
- Правозащита
- Социальные сети и дезинформация
- Технологии и рынок труда
- Технологии, Искусственный интеллект, Рынок труда
- Технологии и будущее
- Медицина и здоровье
- Социальные медиа
- Экология, политика, общество
- Экономика и Финансы
- Разработка игр
- Пропаганда и дезинформация
- Медицинские исследования
- Онлайн-знакомства
- Политика и СМИ
- Энергетика и электромобили
- Климатические изменения
- Технологии, Рынок труда
- IT и управление данными
- Безопасность и кибербезопасность
- Интернет-технологии
- Психология и личностное развитие
- Технологии, Мессенджеры
- Цифровые технологии
- Здоровье и самосовершенствование
- Технологии и AI
- Технологии и спорт
- IT, Разработка программного обеспечения
- Экология и климат
- Космос и технологии
- Юридическая сфера
- Безопасность в интернете
- Программирование, Искусственный Интеллект, Качество ПО
- Технологии и мессенджеры
- Социальная справедливость
- Технологическая индустрия
- Личностное развитие, Time-менеджмент, Психология
- Бизнес и менеджмент
- Технологии, Микросхемы, Автономные системы
- Фриланс и предпринимательство
- Социальные сети и искусственный интеллект
- Криминальные дела
- Социальные сети, Маркетинг
- Энергетика и экология
- Технологии, Искусственный Интеллект, Полиция
- Программирование, Искусственный интеллект, Рынок труда
- Социальные сети, дезинформация, анализ данных
- Потребительские права
- Образование и наука
- Технологии и правосудие
- Технологии, Безопасность, Автомобили
- Энергетика и окружающая среда
- Личностное развитие
- Технологии и экономика
- Медиа и коммуникации
- Миграция и иммиграция
- Личностный рост
- Налоговая система
- Медиа и телевидение
- Интернет и телекоммуникации
- Технологии, Кибербезопасность
- Здоровье
- Социальные сети и карьера
- Политика и инфраструктура
- Предпринимательство
- Промышленность программного обеспечения
- СМИ и коммуникации
- Медиа и Общество
- Медицина и генетика
- Веб-разработка и дизайн
- Технологии, процессоры
- IT-индустрия
- Кинопроизводство и технологии
- Транспорт
- Текстовый анализ
- Технологии, дизайн интерфейсов
- Офисные приложения
- Технологии, Онлайн-сервисы
- Медицина и биотехнологии
- Общество и технологии
- Экономика и рынок труда
- Искусственный интеллект, программирование, аналитика
- Технологии, следствие
- Сетевые технологии
- Технологии и веб-разработка
- Программирование, Обучение, Практика
- Коммуникации и ИТ
- Технологии, Карьера, Экономика
- Технологии и транспорт
- Здравоохранение и медицина
- Технологии, Государственное управление
- IT-безопасность
- IT и разработка
- Финансы и экономика
- Социальные сети, Общество, Сообщества
- IT-разработка
- СМИ и политика
- Конфиденциальность и безопасность
- Экономика и политика
- Технологии и общественная жизнь
- Бизнес и этика
- Безопасность и защита информации
- Технологии, бизнес
- Интернет и цензура
- Государственное регулирование
- Игры, Технологии
- Технологии и оптимизация
- Технологии ИИ и машинного обучения
- Технологии, IT, карьера
- IT и программное обеспечение
- Право и преступность
- Криминал и Правоохранительные Органы
- Технологии и энергетика
- Нефтяная промышленность
- Социальные конфликты
- Преступность и безопасность
- Таможенная очистка
- Медиа и журналистика
- Технологии и разработка приложений
- Телекоммуникации
- Консалтинг и управление
- Управление человеческими ресурсами
- Онлайн-контент
- Психология и психотерапия
- Морская отрасль
- Психология и технологии
- Социальные проблемы
- Маркетинг и реклама
- Политика и власть
- Экономика и торговля
- Карьера и развитие
- Продуктивность и Управление Временем
- Технологии, Искусственный интеллект, Реклама
- Окружающая среда
- Здоровье и технологии
- Бытовая химия
- Правовая информация
- Юстиция
- Технологии и экология
- Социальные сети и безопасность
- Базы данных
- Политика и государственное управление
- Интернет и социальные сети
- Индустрия IT
- Технологии и программное обеспечение
- История и искусственный интеллект
- Рестораны и обслуживание
- Технологии и программирование
- Социология
- Телевидение и СМИ
- Психология
- Политика и бизнес
- Мобильные устройства
- Технологии и развлечения
- Экология и охрана окружающей среды
- Маркетинг и брендинг
- Медицинская индустрия
- Кибербезопасность и технологии
- Социальные сети и политика
- Развлечения
- ИТ и автоматизация
- Криптовалюты и блокчейн
- История и идеология
- Медицина и политика
- Личная жизнь миллиардеров
- Образование и Политика
- Туризм и отдых
- Психология и искусственный интеллект
- Удаленная работа и производительность
- Выживание
- Управление командами
- Разработка
- Международная торговля
- Корпоративная ответственность
- Социальные сети и общество
- Управление серверами
- Индустрия компьютерных игр
- Политика и климат
- Онлайн-игры
- Медицинская отрасль
- Искусственный интеллект и технологии
- Религия и мораль
- Путешествия
- Социальные сети и информация
- Технологии и медиа
- Технологии и свобода
- Электронная коммерция
- Бизнес и управление
- Психическое здоровье и технологии
- Технологии и устойчивое развитие
- Технологии и социальные сети
- Профессии
- Экономика и промышленность
- Технологии и трудоустройство
- Иммиграционная политика
- Продуктивность и фокус
- Технологии и робототехника
- Свобода слова