Утилиты (Enterprise)

Оглавление


Описание

В данном экшене собраны различные полезные функции: выполнение консольной команды (ADB Shell), получение структуры элементов и другие.


Как добавить действие в проект?

Через контекстное меню Добавить действиеAndroidУтилиты

Либо воспользуйтесь умным поиском.


Как работать с экшеном?

Консольная команда (ADB Shell)

 

Данный экшен - это НЕ команды ADB!

Экшен позволяет выполнить встроенные в Android консольные Linux команды.
Примерно то же самое, что и выполнение команд в приложении Terminal Emulator for Android.

Начиная с версии 2.2.5 у экшена есть таймаут выполнения в 10 секунд. Если команда не выполнилась за это время, то экшен завершит работу с ошибкой (выход по красной ветке). Начиная с версии 2.3.2 таймаут выполнения можно задать вручную.

Примеры команд:

ls -la /sdcard/Download - получить все файлы и директории по пути /sdcard/Download
pm list packages - все установленные приложения.
pm list packages -3 - только сторонние приложения.

Команда ADB Shell - команда, которую нужно выполнить.

Положить результат в переменную - здесь необходимо указать существующую или создать новую переменную, в которую будет сохранён результат работы.

-rw-rw---- root sdcard_r 0 2019-01-25 16:42 .nomedia drwxrwx--- u0_a22 sdcard_r 2019-01-26 16:40 com.android.browser drwxrwx--- u0_a15 sdcard_r 2021-07-03 17:57 com.android.vending drwxrwx--- u0_a23 sdcard_r 2021-07-03 22:53 com.cyanogenmod.filemanager drwxrwx--- u0_a8 sdcard_r 2019-04-11 13:29 com.google.android.gms drwxrwx--- u0_a12 sdcard_r 2019-01-25 16:42 com.microvirt.guide

Более подробно о работе с данным экшеном написано в статье Команды ADB Shell (Консольные команды).

Отправка/получение файлов и папок

Начиная с версии 2.3.2 данный экшен поддерживает выполнение команд для отправки файлов на устройство и получения файлов с устройства:

Первый параметр откуда, второй параметр куда.

  • Отправить папку: adb push "c:\MyFolder" /sdcard/

  • Отправить файл: adb push "{-Project.Directory-}myFile.txt" /sdcard/myFileNewName.txt

  • Получить папку: adb pull /sdcard/myFolder c:\Users\Public

  • Получить файл: adb pull /sdcard/myFile.txt "{-Project.Directory-}myFileNewName.txt"


Настройка WiFi

С помощью этого экшена можно подменить имя (SSID) и MAC адрес (BSSID) WiFi сети к которой подключено устройство


Установка Geo-позиции

 

Данное действие позволяет подменить местоположение устройства.

Широта - допустимые значения от -90 до 90.

Долгота - допустимые значения от -180 до 180.

Высота - высота относительно уровня моря в метрах.

Направление - допустимые значения от 0 до 360.

Скорость - скорость объекта в км/ч.

Можно использовать дробные значения. Разделитель дробной части либо [.](точка), либо [,](запятая).

Пример: широта и долгота Нью-Йорка 40.7143 и -74.006


Получить структуру элементов (XML)

С помощью этого действия можно получить структуру элементов экрана в виде XML строки. Это те же данные, что отображены в Окне дерева элементов, только в виде XML строки.

Затем эти данные можно разобрать с помощью экшена Обработка JSON и XML и XPath.

Среди самых полезных атрибутов, которые можно получить у элемента:

  • координаты и ширину с высотой (атрибут bounds)

  • отображаемый текст (атрибут text или content-desc)

  • уникальный id элемента (атрибут resource-id)


Масштабирование

Данный экшен позволяет Отдалить (уменьшить) или Приблизить (увеличить) масштаб.

Координаты - точка, относительно которой будет изменяться масштаб.

Коэффициент - как сильно нужно уменьшить\увеличить масштаб.


Отправить SMS на устройство

 

Данный экшен позволяет эмулировать отправку SMS на устройство.

Телефон - номер телефона отправителя.

Сообщение - текстовое сообщение.


Получить параметры подключения ADB

 

Данный экшен позволяет получить серийный номер или адрес и порт подключенного устройства (в зависимости от способа подключения).

Используется при необходимости выполнить специфичные команды ADB (adb -s serial mdns services)


Получить буфер обмена устройства

Экшен позволяет сохранить содержимое буфера обмена устройства в переменную.


Задать буфер обмена на устройстве.

Экшен позволяет задать содержимое буфера обмена на устройстве.

С помощью экшена Эмуляция клавиатуры (ZD) содержимое буфера может быть вставлено в нужное поле через макрос {AndroidKeys.PASTE}


Выполнить запрос SQLite3

 

Экшен позволяет выполнить SQL-запрос к базе данных на устройстве. При первом запуске все необходимые файлы будут автоматически установлены на устройство в зависимости от его архитектуры.

Путь к базе данных: полный путь к файлу, например, /data/data/com.android.providers.contacts/databases/contacts2.db

Запрос: SQL-запрос, например, SELECT * FROM contacts

Ответ в формате JSON: если установлен данный параметр, результат запроса будет возвращен в формате JSON (данные можно разобрать с помощью экшена Обработка JSON и XML). В противном случае ответ будет в виде массива строк. Разделителем в строке является символ | (вертикальная черта)


Выполнить скрипт Frida

Экшен позволяет выполнить на устройстве скрипт Frida для приложения. При первом запуске все необходимые файлы будут автоматически установлены на устройство в зависимости от его архитектуры. После чего будет запущен сервер Frida.

Имя приложения: название приложения в которое необходимо загрузить скрипт.

Скрипт: содержимое скрипта. Поддерживаются макросы

Подробнее про работу с Frida можно прочитать в теме Установка и запуск сервера Frida


Полезные ссылки