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