Action API
Описание
IDroidActionAPI предназначен для управления выбором и жизненным циклом устройств/эмуляторов в ZennoDroid. Позволяет выбирать устройство различными способами и запускать или останавливать его.
Повторяет логику работы кубика Действия с устройством для версий Lite/Pro и Enterprise.
Методы
SelectByIndex
-
void SelectByIndex(int index)
Выбирает устройство по индексу.Параметры:
index— числовой идентификатор устройства.
Пример.
var action = instance.DroidInstance.Action;
action.SelectByIndex(0);
SelectByName
-
void SelectByName(string name)
Выбирает устройство по внутреннему имени.Параметры:
name— системное имя устройства.
Пример.
var action = instance.DroidInstance.Action;
action.SelectByName("deviceName");
SelectByTitle
-
void SelectByTitle(string title)
Выбирает устройство по отображаемому названию.Параметры:
title— человекочитаемое имя устройства.
Пример.
var action = instance.DroidInstance.Action;
action.SelectByTitle("titleName");
SelectRandom
void SelectRandom()
Выбирает случайное устройство из всех доступных.
Пример.
var action = instance.DroidInstance.Action;
action.SelectRandom();
-
void SelectRandom(string mask)
Выбирает случайное устройство по маске.Параметры:
mask— строковый шаблон для фильтрации (например, часть имени или title).
Пример.
var action = instance.DroidInstance.Action;
action.SelectRandom("Samsung");
Допустим, что среди устройств у нас есть:
- Pixel_7_Android14;
- Samsung_S23_Android14;
- Xiaomi_RedmiNote12_Android13;
- Samsung_A51_Android12;
- Google_Nexus5X_Android8;
Тогда под маску "Samsung" попадут Samsung_S23_Android14 и Samsung_A51_Android12. Так что после фильтрации метод случайно выберет одно из этих устройств.
-
void SelectRandom(IEnumerable<string> source)
Выбирает случайное устройство из заданного списка.Параметры:
source— коллекция имён или идентификаторов устройств.
Пример
var action = instance.DroidInstance.Action;
var devices = new List<string>
{
"Pixel_7_Android14",
"Samsung_S23_Android14",
"Xiaomi_RedmiNote12_Android13",
"Samsung_A51_Android12",
"Google_Nexus5X_Android8"
};
action.SelectRandom(devices);
Start
-
void Start()
Запускает выбранное устройство. -
void Start(bool applyProfile)
Запускает устройство с возможностью применения профиля шаблона.Параметры:
applyProfile— применять ли профиль шаблона перед запуском (IMEI, Android ID и др. из вкладки «Текущий профиль»).
-
void Start(string captureScreenMethod)
Запускает устройство с указанием метода захвата экрана.Параметры:
captureScreenMethod— способ захвата экрана ("h264","mjpeg"или"off").
-
void Start(bool applyProfile, string captureScreenMethod)
Запускает устройство с профилем и заданным методом захвата экрана.Параметры:
applyProfile— применять профиль;captureScreenMethod— метод захвата экрана ("h264","mjpeg"или"off").
Пример.
var action = instance.DroidInstance.Action;
action.SelectByTitle("Name"); // Выбираем устройство.
action.Start(); // Запускаем.
var action = instance.DroidInstance.Action;
action.SelectByTitle("Name"); // Выбираем устройство.
action.Start(true); // Запускаем с данными из профиля ZD
var action = instance.DroidInstance.Action;
action.SelectByTitle("Name"); // Выбираем устройство.
action.Start("mjpeg"); // Запускаем c captureScreenMethod
Stop
void Stop()
Останавливает текущее устройство.
Пример.
var action = instance.DroidInstance.Action;
action.SelectByTitle("Name");
action.Stop();
WaitForUserAction
-
void WaitForUserAction(int timeout)
Останавливает проект и передаёт устройство человеку: в верхней части окна устройства появляется полоса с кнопкой «Продолжить», и на устройстве можно вручную сдела ть то, что шаблон делать не должен. То же, что экшен Ожидание действий пользователя.Проект стоит на этой строке, пока человек не нажмёт «Продолжить», пока не выйдет таймаут или пока шаблон не остановят.
Параметры:
timeout— сколько секунд отводится на ручные действия. Отрицательное значение — ждать, пока человек не нажмёт «Продолжить».
-
void WaitForUserAction(int timeout, string comment)
То же самое, с сообщением для человека.Параметры:
timeout— сколько секунд отводится на ручные действия. Отрицательное значение — ждать, пока человек не нажмёт «Продолжить»;comment— текст, который увидит человек в окне устройства. Сюда пишут, что именно нужно сделать.
Пример.
var action = instance.DroidInstance.Action;
action.WaitForUserAction(120, "Введите логин и пароль вручную"); // Две минуты на ручные действия
var action = instance.DroidInstance.Action;
action.WaitForUserAction(-1); // Ждать, пока человек не нажмёт «Продолжить»