Выбор конкретных эмуляторов

Czerdo

Client
Регистрация
24.06.2020
Сообщения
77
Благодарностей
12
Баллы
8
Добрый день. Помогите решить задачу. Заранее спасибо.

Приведу условный пример: Есть 2 проекта. Под VK и под OK. Под каждый создано более 1 эмулятора.

96217


Как указать в конструкторе имена, чтобы в проекте VK брались эмуляторы с "VK" в названии, а в OK с именами содержащими "OK"? На данный момент берутся рандомные ВМ. Возможно, есть встроенный функционал для решения вопроса.

96218
 

Bkmz

Client
Регистрация
25.12.2013
Сообщения
86
Благодарностей
11
Баллы
8
ну если тебе надо брать рандом вк то пиши VK и ставь рандомное число если по порядку сделай что бы числа перебирал и так же с ОК, полное название VK{-Variable.random-} или ОК{-Variable.random-}
 
  • Спасибо
Реакции: Czerdo

Czerdo

Client
Регистрация
24.06.2020
Сообщения
77
Благодарностей
12
Баллы
8
ну если тебе надо брать рандом вк то пиши VK и ставь рандомное число если по порядку сделай что бы числа перебирал и так же с ОК, полное название VK{-Variable.random-} или ОК{-Variable.random-}
Отличный вариант. А то я со списками, текстовыми документами и перечислениями через разные символы пробовал.

Но тут получается будет долгий перебор. Если работа в 4 потока, например. Он будет брать рандомный номер, а эмулятор будет занят, то ожидание 60 секунд и новая попытка подбора свободного эмулятора.

Стандартный функционал просто не берет занятые ВМ. Вот как брать свободные и именно с нужным названием под нужный проект эмуляторы?
 

Bkmz

Client
Регистрация
25.12.2013
Сообщения
86
Благодарностей
11
Баллы
8
Отличный вариант. А то я со списками, текстовыми документами и перечислениями через разные символы пробовал.

Но тут получается будет долгий перебор. Если работа в 4 потока, например. Он будет брать рандомный номер, а эмулятор будет занят, то ожидание 60 секунд и новая попытка подбора свободного эмулятора.

Стандартный функционал просто не берет занятые ВМ. Вот как брать свободные и именно с нужным названием под нужный проект эмуляторы?
ммм не подскажу, записывать которое взял и сверять как вариант
 

Anatoly79

Moderator
Регистрация
17.04.2020
Сообщения
379
Благодарностей
271
Баллы
63
Вот как брать свободные и именно с нужным названием под нужный проект эмуляторы?
В качестве временного решения (рандомно выбираем виртуалку до тех пор, пока название не будет начинаться с нужного префикса, штатный рандом никогда не выберет занятую виртуалку):
C#:
//Префикс машины (OK или VK) задается во входных настройках
var prefix = project.Variables["prefix"].Value;
var droid = instance.DroidInstance;
for (int i = 0; i < 100; i++){
    //Выбираем рандомную
    droid.Action.SelectRandom();   
    if (droid.Info.Title.StartsWith(prefix))
    {   
        // Название начинается с нужного префикса
        project.Variables["name"].Value = droid.Info.Name;
        project.Variables["index"].Value = droid.Info.Index.ToString();
        //Инфа об устройстве, можно убрать
        project.SendInfoToLog($"Выбран {droid.Info.Title} с {i} попытки", true);
        return true;
    }
}
throw new Exception("Не найдены свободные устройства");
Сделал шаблон с примером. В качестве входного параметра указывается начало имени виртуальной машины.


I6Rd0KpaNy.png

Не самое удачное решение, конечно, если много устройств. Доработаем.
 

Вложения

Czerdo

Client
Регистрация
24.06.2020
Сообщения
77
Благодарностей
12
Баллы
8

Anatoly79

Moderator
Регистрация
17.04.2020
Сообщения
379
Благодарностей
271
Баллы
63
Как указать в конструкторе имена, чтобы в проекте VK брались эмуляторы с "VK" в названии, а в OK с именами содержащими "OK"? На данный момент берутся рандомные ВМ. Возможно, есть встроенный функционал для решения вопроса.
Данный функционал добавлен в тестовом билде 2.3.2.0.
Тестовый билд ZennoDroid Pro RU / Pro EN 2.3.2 от 07.11.2022
99367
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)