Утилиты (ZD)
Пожалуйста, ознакомьтесь с Правилами использования материалов на данном ресурсе
Оглавление
Описание
В данном экшене собраны различные полезные функции: выполнение консольной команды (ADB Shell), получение структуры элементов и другие.
Как добавить действие в проект?
Через контекстное меню Добавить действие → Android → Утилиты
Либо воспользуйтесь умным поиском.
Как работать с экшеном?
Консольная команда (ADB Shell)
Данный экшен - это НЕ команды ADB!
Экшен позволяет выполнить встроенные в Android консольные Linux команды.
Примерно то же самое, что и выполнение команд в приложении Terminal Emulator for Android.
Начиная с версии 2.2.5 у экшена есть таймаут выполнения в 10 секунд. Если команда не выполнилась за это время, то экшен завершит работу с ошибкой (выход по красной ветке).
Примеры команд:
ls -la /sdcard/Download - получить все файлы и директории по пути /sdcard/Downloadpm 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"
Установка Geo-позиции
Данное действие позволяет подменить местоположение устройства.
Широта - допустимые значения от -90 до 90.
Долгота - допустимые значения от -180 до 180.
Можно использовать дробные значения. Разделитель дробной части либо [.](точка), либо [,](запятая).
Пример: широта и долгота Нью-Йорка 40.7143 и -74.006
Настройка WiFi
С помощью этого экшена можно подменить имя WiFi сети (SSID), через который “подключен” эмулятор.
Сбросить Google Advert Id
Данное действие сбрасывает рекламный идентификатор устройства.
Получить структуру элементов (XML)
С помощью этого действия можно получить структуру элементов экрана в виде XML строки. Это те же данные, что отображены в Окне дерева элементов, только в виде XML строки.
Затем эти данные можно разобрать с помощью экшена Обработка JSON и XML и XPath.
Среди самых полезных атрибутов, которые можно получить у элемента:
координаты и ширину с высотой (атрибут
bounds)отображаемый текст (атрибут
text)сведения о том, отображён ли элемент (атрибут
displayed)
Масштабирование
Данный экшен позволяет Отдалить (уменьшить) или Приблизить (увеличить) масштаб.
Координаты - точка, относительно которой будет изменяться масштаб.
Коэффициент - как сильно нужно уменьшить\увеличить масштаб.
Отправить SMS на устройство
Данный экшен позволяет эмулировать отправку SMS на устройство.
Телефон - номер телефона отправителя.
Сообщение - текстовое сообщение.
На устройстве должно быть установлено приложение для приема сообщений (например, Google Сообщения, LineageOS Messaging или другое)
Получить параметры подключения ADB
Данный экшен позволяет получить адрес и порт подключенного устройства.
Используется при необходимости выполнить специфичные команды ADB (adb -s serial mdns services)
Получить буфер обмена устройства
Экшен позволяет сохранить содержимое буфера обмена устройства в переменную.
Задать буфер обмена на устройстве.
Экшен позволяет задать содержимое буфера обмена на устройстве.
С помощью экшена https://zennolab.atlassian.net/wiki/spaces/RU/pages/1867743710 содержимое буфера может быть вставлено в нужное поле через макрос {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 можно прочитать в теме https://zennolab.atlassian.net/wiki/spaces/RU/pages/2284060714