Automation Runtime

Automation Runtime — библиотека для отдельно подготовленного скрипта или программы. Код открывает сохранённый проект, ищет визуальные или текстовые состояния, ждёт условия и вызывает единый API ввода. Запуск выполняется отдельно от редактирования проекта.

Что нужно для запуска

  • Сохранённый проект с GUI-целями и нужными визуальными признаками, подготовленный в General или GUI Automation.
  • Отдельный сценарий Python, который явно открывает проект и задаёт последовательность действий.
  • Подготовленные зависимости для сценария, поиска изображений и при необходимости OCR.
  • Доступный для выбранной системы способ ввода, если сценарий должен управлять мышью и клавиатурой.

Automation Manager и Runtime Workbench

Automation Manager открывает готовый GUI-сценарий, его параметры и журнал выполнения. Окно «Запуск и проверка» (Runtime Workbench) объединяет доступные цели исполнения и просмотра: для конечного кода выбираются сохранённый проект, скрипт и Python-среда.

Просмотр сохранённого результата не запускает расчёт или ввод. Перед запуском отдельно проверяются среда программы и готовность выбранного ввода. Исправление зависимости или подключение устройства требует повторной проверки; зелёный статус запуска не подтверждает состояние целевого окна.

Runtime Workbench: цель запуска, источник, просмотр и диагностика.

Учебный пример. Изменения действуют только здесь и сбрасываются при выходе из примера. В примере доступны вкладки просмотра и диагностики. Источник, программа и ввод не запускаются.

Режим ввода при запуске

  • Отключено: библиотечные действия ввода не отправляются. Остальной Python-код сценария продолжает выполняться.
  • Только записывать действия: запрошенные действия сохраняются для проверки, без отправки через выбранный способ ввода.
  • Реальный ввод: перед каждым запуском нужны успешная проверка настроенного устройства или драйвера и явное подтверждение.

Эти режимы управляют библиотекой ввода, а не изолируют произвольный Python-код. Сценарий, вызывающий стороннюю библиотеку или команду напрямую, может выполнять действия вне этой проверки.

Проверка перед исполнением

Перед запуском Screph проверяет, что проект читается и содержит необходимые данные. Это не гарантирует, что нужное окно открыто, имеет правильный масштаб и тему или находится на ожидаемом мониторе. Эти условия должен проверять сценарий непосредственно перед действием.

Поиск целей

СпособКогда подходит
Сопоставление изображенияДля устойчивого визуального шаблона при известном масштабе и состоянии интерфейса.
OCRДля текста, который может менять положение, но остаётся читаемым.
Координаты и областьДля ограниченного поиска в известной части выбранного монитора или окна.

Шаблоны зависят от масштаба, темы, состояния окна и качества исходного изображения. После поиска сценарий должен проверить ожидаемое состояние до отправки ввода.

Способы ввода

  • FakerInput Virtual HID использует системный драйвер, который устанавливается отдельно с подтверждением Windows.
  • Arduino USB HID использует совместимое внешнее устройство с подготовленной прошивкой.
  • Arduino Serial использует выбранный порт и соответствующую прошивку. Linux uinput требует системного доступа к устройству ввода; Linux-путь остаётся экспериментальным.

В настройках «Эмуляция ввода» выбираются реализация, устройство, раскладка и поведение печати. Настройки учитываются со следующей операции; их сохранение само по себе не отправляет ввод. После переноса программы на другой компьютер ввод настраивается в её окружении заново.

VHF и PS/2 относятся к лабораторным проверкам и требуют отдельного драйвера; они не являются готовыми заменами основных способов ввода. PyAutoGUI — отдельный профиль проекта, а не автоматический запасной вариант библиотеки Screph.

Если выбранный способ ввода недоступен, Automation Runtime показывает ошибку и не переключается на другой способ автоматически.

Запуск и остановка

  1. Откройте проект и сценарий в Automation Manager.
  2. Проверьте целевое окно, монитор, масштаб и способ ввода.
  3. Запустите сценарий под наблюдением и держите доступной аварийную остановку.
  4. После каждого важного действия проверяйте ожидаемое состояние интерфейса.

Остановка отменяет дальнейшую работу и завершает принадлежащие запуску процессы. Если очистка ещё не подтверждена, состояние остановки сохраняется. Уже отправленные команды и выполненные изменения не откатываются автоматически.

Безопасность

  • Сценарий выполняется с правами запущенной программы и может читать или изменять доступные ему файлы.
  • Не запускайте непроверенный сценарий и храните рабочую папку в системе контроля версий или резервной копии.
  • Не используйте Alpha-версию для ненаблюдаемого управления критическими системами.

Типичные проблемы

  • Шаблон не найден: проверьте масштаб, тему, состояние окна, область поиска и качество шаблона.
  • Текст не найден: проверьте Tesseract, язык OCR и качество области.
  • Координаты смещены: проверьте монитор, масштаб Windows и положение окна.
  • Ввод не начинается: повторно проверьте выбранный способ ввода и уровень прав целевого окна.