Утилиты (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 - команда, которую нужно выполнить.
Положить результат в переменную - здесь необходимо указать существующую или создать новую переменную, в которую будет сохранён результат работы.
Более подробно о работе с данным экшеном написано в статье Команды 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