Мне нужно использовать пакет симуляции Windows для выполнения повторяющейся задачи с несколько разными параметрами каждый раз.
Так как я ненавижу повторный щелчок, по причине лени и количества ошибок, которые вводит человек, я хотел бы автоматически управлять этой программой. В рассматриваемой программе не поддерживается сценарий, нет API, нет COM, nada, nyet, nravin. Насколько я могу судить, единственный способ автоматически управлять этой программой - подражать человеку (например, клавиатуре и мышиному макросу).
Я знаю AutoHotKey, но я не думаю, что он делает то, что я хочу. (Или это может сделать то, что я хочу, но его язык сценариев ужасен.)
Требования:
-
Должны допускать временные задержки между действиями или обнаружение событий для запуска действий.
Моделирование может занять до десяти минут, поэтому драйвер GUI должен будет подождать, пока симуляция не закончится, прежде чем начинать новый.
Один из способов сделать это - просто подождать десять минут и надеяться, что имитация закончится. Альтернативный способ состоит в том, чтобы сделать его управляемым событиями, т.е. Наблюдать за диалогом "Имитация запуска...", чтобы исчезнуть и быть заменены диалогом "Симуляция завершена".
-
Должен разрешить состав сложного ввода клавиатуры.
Некоторые требуемые ввод клавиатуры различны для каждого запуска симуляции. Например, описание моделирования может иметь формат
[Project name][Scenario name][Option 1][Option 2]...
, и это нужно было бы ввести для каждой моделировки.Я знаю, что AutoHotKey позволяет базовый уровень настройки ввода, но мое случайное чтение документации делает язык сценариев похожим на какой-то ужас eldritch.
-
Это для работы, поэтому любое решение должно быть бесплатным для коммерческого использования.
Я соглашусь с любым решением, которое соответствует указанным выше критериям, но у меня есть strong предпочтение для того, что я могу управлять с Python. Однако я бы также согласился с автоматическими инструментами для тестирования GUI, которые я мог бы настроить, чтобы делать то, что я хочу - возможно, эквивалент Win32 GUI Selenium для браузеров? - клавиатурные макрорекордеры, которые будут генерировать пользовательский вывод или что-то еще, что работает.