Документация¶
Модуль PyMemuc
¶
a wrapper for memuc.exe as a library to control virual machines
- class PyMemuc(memuc_path: str | None = None, debug: bool = False)[исходный код]¶
Базовые классы:
object
Класс для взаимодействия с инструментом командной строки memuc.exe для управления виртуальными машинами.
- Параметры:
- change_gps_vm(latitude: float, longitude: float, vm_index: int | None = None, vm_name: str | None = None) Literal[True] ¶
Изменить местоположение GPS на виртуальной машине, необходимо указать индекс VM или имя VM
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если изменение GPS виртуальной машины прошло успешно
- Тип результата:
Literal[True]
- connect_internet_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True] ¶
Подключить интернет на виртуальной машине, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если подключение к интернету виртуальной машины прошло успешно
- Тип результата:
Literal[True]
- create_app_shortcut_vm(package_name: str, vm_index: int | None = None, vm_name: str | None = None) Tuple[int, str] ¶
Создать ярлык приложения на виртуальной машине, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
PyMemucTimeoutExpired – ошибка, если команда завершается по таймауту
- Результат:
код возврата и вывод команды.
- Тип результата:
- disconnect_internet_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True] ¶
Отключить интернет на виртуальной машине, необходимо указать индекс или имя виртуальной машины
- execute_command_vm(command: str, vm_index: int | None = None, vm_name: str | None = None) Tuple[int, str] ¶
Выполнить команду на виртуальной машине, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
код возврата и вывод команды.
- Тип результата:
- get_adb_connection(vm_index: int | None = None, vm_name: str | None = None, timeout: float | None = None) Tuple[str | None, int | None] ¶
Получить информацию о подключении adb для виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
PyMemucTimeoutExpired – ошибка, если команда завершается по таймауту
PyMemucError – ошибка, если команда завершается неудачно
- Результат:
IP-адрес и порт соединения adb в виде кортежа
- Тип результата:
- get_app_info_list_vm(vm_index: int | None = None, vm_name: str | None = None, timeout: float = 10) list[str] ¶
Получить список установленных приложений на виртуальной машине, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
PyMemucError – ошибка, если команда завершается неудачно
- Результат:
список установленных пакетов на виртуальной машине
- Тип результата:
- get_public_ip_vm(vm_index: int | None = None, vm_name: str | None = None) Tuple[int, str] ¶
Получить публичный IP виртуальной машины, необходимо указать индекс или имя виртуальной машины
- input_text_vm(text: str, vm_index: int | None = None, vm_name: str | None = None) Literal[True] ¶
Ввести текст на виртуальной машине, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если ввод текста на виртуальной машине прошел успешно
- Тип результата:
Literal[True]
- install_apk_vm(apk_path: str, vm_index: int | None = None, vm_name: str | None = None, create_shortcut: bool = False) Literal[True] ¶
Установить APK на виртуальной машине, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если установка APK на виртуальной машине прошла успешно
- Тип результата:
Literal[True]
- rotate_window_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True] ¶
Повернуть окно на виртуальной машине, необходимо указать индекс или имя виртуальной машины
- Параметры:
vm_index (int, optional) – Индекс VM. По умолчанию None.
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если поворот окна виртуальной машины прошел успешно
- Тип результата:
Literal[True]
- send_adb_command_vm(command: str | list[str], vm_index: int | None = None, vm_name: str | None = None, timeout: float | None = None) str ¶
Отправить команду ADB на виртуальную машину, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
PyMemucTimeoutExpired – ошибка, если команда завершается по таймауту
- Результат:
код возврата и вывод команды.
- Тип результата:
- set_accelerometer_vm(value: tuple[float, float, float], vm_index: int | None = None, vm_name: str | None = None) Tuple[int, str] ¶
Установить акселерометр на виртуальной машине, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
код возврата и вывод команды.
- Тип результата:
- start_app_vm(package_name: str, vm_index: int | None = None, vm_name: str | None = None, timeout: float | None = None) Literal[True] ¶
Запустить приложение на виртуальной машине, необходимо указать индекс или имя виртуальной машины
- Параметры:
package_name (str) – Имя пакета APK, например,
com.android.chrome
. Это можно найти, используяget_app_info_list_vm()
, исключая читаемое имя и суффикс версии.vm_index (int, optional) – Индекс VM. По умолчанию None.
vm_name (str, optional) – Имя VM. По умолчанию None.
timeout (float, optional) – Таймаут в секундах. По умолчанию - None.
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если запуск приложения на виртуальной машине прошел успешно
- Тип результата:
Literal[True]
- stop_app_vm(package_name: str, vm_index: int | None = None, vm_name: str | None = None) Literal[True] ¶
Остановить приложение на виртуальной машине, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если остановка приложения на виртуальной машине прошла успешно
- Тип результата:
Literal[True]
- trigger_keystroke_vm(key: Literal['back', 'home', 'menu', 'volumeup', 'volumedown'], vm_index: int | None = None, vm_name: str | None = None) Literal[True] ¶
Запустить нажатие клавиши на виртуальной машине, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если запуск нажатия клавиши на виртуальной машине прошел успешно
- Тип результата:
Literal[True]
- trigger_shake_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True] ¶
Запустить тряску на виртуальной машине, необходимо указать индекс или имя виртуальной машины
- uninstall_apk_vm(package_name: str, vm_index: int | None = None, vm_name: str | None = None) Literal[True] ¶
Удалить APK на виртуальной машине, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если удаление APK на виртуальной машине прошло успешно
- Тип результата:
Literal[True]
- zoom_in_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True] ¶
Увеличить масштаб на виртуальной машине, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если увеличение масштаба на виртуальной машине прошло успешно
- Тип результата:
Literal[True]
- zoom_out_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True] ¶
Уменьшить масштаб на виртуальной машине, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если уменьшение масштаба на виртуальной машине прошло успешно
- Тип результата:
Literal[True]
- reboot_vm(vm_index: int | None = None, vm_name: str | None = None, non_blocking: bool = False) Literal[True] ¶
Перезагрузить виртуальную машину, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если виртуальная машина успешно перезагружена
- Тип результата:
Literal[True]
- start_vm(vm_index: int | None = None, vm_name: str | None = None, headless: bool = False, non_blocking: bool = False, timeout: float | None = None) Literal[True] ¶
Запустить виртуальную машину, необходимо указать индекс или имя виртуальной машины
- Параметры:
vm_index (int, optional) – Индекс VM. По умолчанию None.
vm_name (str, optional) – Имя VM. По умолчанию None.
headless (bool, optional) – Запускать ли виртуальную машину в режиме без графического интерфейса. По умолчанию - False.
non_blocking (bool, optional) – Запускать ли команду в фоновом режиме. По умолчанию - False.
timeout (float, optional) – Таймаут в секундах. Не может использоваться в неблокирующем режиме. По умолчанию - None.
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если виртуальная машина успешно запущена
- Тип результата:
Literal[True]
- stop_all_vm(non_blocking: bool = False, timeout: float | None = None) Literal[True] ¶
Остановить все виртуальные машины
- Параметры:
- Исключение:
PyMemucError – ошибка, если остановка виртуальной машины не удалась
- Результат:
True, если виртуальная машина успешно остановлена
- Тип результата:
Literal[True]
- stop_vm(vm_index: int | None = None, vm_name: str | None = None, non_blocking: bool = False, timeout: float | None = None) Literal[True] ¶
Остановить виртуальную машину, необходимо указать индекс или имя виртуальной машины
- Параметры:
vm_index (int, optional) – Индекс VM. По умолчанию None.
vm_name (str, optional) – Имя VM. По умолчанию None.
non_blocking (bool, optional) – Запускать ли команду в фоновом режиме. По умолчанию - False.
timeout (float, optional) – Таймаут в секундах. Не может использоваться в неблокирующем режиме. По умолчанию - None.
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если виртуальная машина успешно остановлена
- Тип результата:
Literal[True]
- clone_vm(vm_index: int | None = None, vm_name: str | None = None, new_name: str | None = None, non_blocking: bool = False) Literal[True] ¶
Клонировать виртуальную машину, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если виртуальная машина успешно клонирована
- Тип результата:
Literal[True]
- compress_vm(vm_index: int | None = None, vm_name: str | None = None, non_blocking: bool = False) Literal[True] ¶
Сжать виртуальную машину, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
PyMemucError – ошибка, если сжатие виртуальной машины не удалось
- Результат:
True, если виртуальная машина успешно сжата
- Тип результата:
Literal[True]
- delete_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True] ¶
Удалить виртуальную машину, необходимо указать индекс или имя виртуальной машины
- export_vm(vm_index: int | None = None, vm_name: str | None = None, file_name: str = 'vm.ova', non_blocking: bool = False)¶
Экспортировать виртуальную машину, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
код возврата и вывод команды
- Тип результата:
- get_configuration_vm(config_key: Literal['name', 'cpus', 'cpucap', 'memory', 'is_full_screen', 'is_hide_toolbar', 'turbo_mode', 'graphics_render_mode', 'enable_su', 'enable_audio', 'fps', 'vkeyboard_mode', 'sync_time', 'phone_layout', 'start_window_mode', 'win_x', 'win_y', 'win_scaling_percent2', 'is_customed_resolution', 'resolution_width', 'resolution_height', 'vbox_dpi', 'linenum', 'imei', 'imsi', 'simserial', 'microvirt_vm_brand', 'microvirt_vm_model', 'microvirt_vm_manufacturer', 'selected_map', 'latitude', 'longitude', 'picturepath', 'musicpath', 'moviepath', 'downloadpath', 'macaddress', 'cache_mode', 'geometry', 'custom_resolution', 'disable_resize', 'ssid'], vm_index: int | None = None, vm_name: str | None = None) str ¶
Получить конфигурацию виртуальной машины, необходимо указать индекс или имя виртуальной машины
- import_vm(file_name: str = 'vm.ova', non_blocking: bool = False) Literal[True] ¶
Импортировать виртуальную машину из файла
- Параметры:
- Исключение:
PyMemucError – ошибка, если импорт виртуальной машины не удался
- Результат:
True, если виртуальная машина успешно импортирована
- Тип результата:
Literal[True]
- list_vm_info(vm_index: int | None = None, vm_name: str | None = None, running: bool = False, disk_info: bool = False) list[VMInfo] ¶
Перечислить информацию о виртуальной машине, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
список информации о виртуальной машине, каждая информация о виртуальной машине представляет собой словарь с следующими ключами: index: индекс виртуальной машины title: заголовок виртуальной машины top_level: верхний уровень виртуальной машины running: работает ли виртуальная машина pid: PID виртуальной машины disk_usage: использование диска виртуальной машины
- Тип результата:
- randomize_vm(vm_index: int | None = None, vm_name: str | None = None) Literal[True] ¶
Случайным образом изменить параметры виртуальной машины, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если параметры виртуальной машины успешно изменены случайным образом
- Тип результата:
Literal[True]
- rename_vm(vm_index: int | None = None, vm_name: str | None = None, new_name: str | None = None) Literal[True] ¶
Переименовать виртуальную машину, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан индекс или имя виртуальной машины
PyMemucError – ошибка, если переименование виртуальной машины не удалось
- Результат:
True, если виртуальная машина успешно переименована
- Тип результата:
Literal[True]
- set_configuration_vm(config_key: Literal['name', 'cpus', 'cpucap', 'memory', 'is_full_screen', 'is_hide_toolbar', 'turbo_mode', 'graphics_render_mode', 'enable_su', 'enable_audio', 'fps', 'vkeyboard_mode', 'sync_time', 'phone_layout', 'start_window_mode', 'win_x', 'win_y', 'win_scaling_percent2', 'is_customed_resolution', 'resolution_width', 'resolution_height', 'vbox_dpi', 'linenum', 'imei', 'imsi', 'simserial', 'microvirt_vm_brand', 'microvirt_vm_model', 'microvirt_vm_manufacturer', 'selected_map', 'latitude', 'longitude', 'picturepath', 'musicpath', 'moviepath', 'downloadpath', 'macaddress', 'cache_mode', 'geometry', 'custom_resolution', 'disable_resize', 'ssid'], config_value: str, vm_index: int | None = None, vm_name: str | None = None) Literal[True] ¶
Установить конфигурацию виртуальной машины, необходимо указать индекс или имя виртуальной машины
- Параметры:
- Исключение:
PyMemucIndexError – ошибка, если не указан ни индекс, ни имя VM
- Результат:
True, если конфигурация виртуальной машины была успешно установлена
- Тип результата:
Literal[True]
- memuc_run(args: list[str], non_blocking: bool = False, timeout: float | None = None) Tuple[int, str] ¶
выполнить команду с использованием memuc.exe. Memuc может поддерживать неблокирующие команды, возвращая идентификатор задачи. Время ожидания можно указать, если ожидается, что memuc зависнет, но это не будет работать с неблокирующими командами.
- Параметры:
- Результат:
код возврата и вывод команды
- Тип результата:
- Исключение:
PyMemucError – ошибка, если команда завершается неудачно
PyMemucTimeoutExpired – ошибка, если команда завершилась по истечении времени ожидания
The ConfigKeys
alias¶
- ConfigKeys¶
alias of
Literal
[„name“, „cpus“, „cpucap“, „memory“, „is_full_screen“, „is_hide_toolbar“, „turbo_mode“, „graphics_render_mode“, „enable_su“, „enable_audio“, „fps“, „vkeyboard_mode“, „sync_time“, „phone_layout“, „start_window_mode“, „win_x“, „win_y“, „win_scaling_percent2“, „is_customed_resolution“, „resolution_width“, „resolution_height“, „vbox_dpi“, „linenum“, „imei“, „imsi“, „simserial“, „microvirt_vm_brand“, „microvirt_vm_model“, „microvirt_vm_manufacturer“, „selected_map“, „latitude“, „longitude“, „picturepath“, „musicpath“, „moviepath“, „downloadpath“, „macaddress“, „cache_mode“, „geometry“, „custom_resolution“, „disable_resize“, „ssid“]
Ключ |
Описание |
---|---|
Имя |
Имя виртуальной машины. |
|
Количество процессоров для выделения виртуальной машине. |
|
Ограничение процессора для выделения виртуальной машине. ( |
|
Объем памяти для выделения виртуальной машине. (Единица измерения: МБ) |
|
Должна ли виртуальная машина запускаться в полноэкранном режиме. ( |
|
Следует ли скрывать панель инструментов виртуальной машины. ( |
|
Следует ли запускать виртуальную машину в турбо-режиме. ( |
|
Режим отображения графики для использования. ( |
|
Должна ли виртуальная машина запускаться с привилегиями суперпользователя. ( |
|
Следует ли запускать виртуальную машину с поддержкой звука. ( |
|
Количество кадров в секунду виртуальной машины. ( |
|
Режим виртуальной клавиатуры виртуальной машины. ( |
|
Должна ли виртуальная машина запускаться с синхронизацией времени. ( |
|
Расположение телефона виртуальной машины. ( |
|
Режим запуска окна виртуальной машины. ( |
|
Смещение окна виртуальной машины по оси X от верхнего левого угла. ( |
|
Вертикальное смещение окна виртуальной машины от верхнего левого угла. ( |
|
Процентное масштабирование окна виртуальной машины. (Единица измерения: %) |
|
Должна ли виртуальная машина запускаться с пользовательским разрешением. ( |
|
Ширина пользовательского разрешения виртуальной машины. ( |
|
Высота пользовательского разрешения виртуальной машины. ( |
|
DPI виртуальной машины. ( |
|
Номер телефона виртуальной машины. |
|
IMEI виртуальной машины. |
|
IMSI виртуальной машины. |
|
Серийный номер SIM-карты виртуальной машины. |
|
Бренд виртуальной машины. |
|
Модель виртуальной машины. |
|
Производитель виртуальной машины. |
|
The VM’s selected gps provider. ( |
|
The VM’s gps latitude. (Unit: Degree) |
|
The VM’s gps longitude. (Unit: Degree) |
|
Путь к общему каталогу изображений виртуальной машины. |
|
Путь к общему каталогу музыки виртуальной машины. |
|
Путь к общему каталогу фильмов виртуальной машины. |
|
Путь к общему каталогу загрузок виртуальной машины. |
|
MAC-адрес устройства |
|
Режим кэширования, 1 - ускорение (хорошая производительность, но есть риск повреждения изображения при случайном отключении питания), 0 - стабильный (изображение сложнее повредить, и производительность немного хуже) ( |
|
Верхний левый угол и размер симулятора ( |
|
Разрешение Android и dpi (ширина высота dpi) |
|
Фиксированный размер окна, 1 - фиксированный, 0 - растягиваемый |
|
Имя WIFI ( |
Тип данных VMInfo
¶
- class VMInfo[исходный код]¶
Базовые классы:
TypedDict
TypedDict для информации о виртуальной машине