Нечто похожее делают AutoIt-скрипты, я знаю про этот инструмент, но, пожалуйста, прочтите дальше.
Требования:
- Наличие поиска UI-элементов по разным условиям и их комбинациям. Запоминать и жестко вшивать в код координаты мест, куда нужно кликнуть — неприемлемо. Инструмент должен уметь находить нужные элементы.
- Наличие COM-интерфейса для осуществления поиска и управляющего воздействия. От инструмента не требуется поддержка скриптового механизма, по сути мне нужны только COM API, используя которые можно полностью рулить процессом. Приветствует грамотно продуманная объектная модель.
- Возможность автономной работы (работы без вмешательства оператора). Инструмент не должен показывать никаких сообщений, которые нужно было бы закрывать вручную и делать тому подобных вещей. Он должен нормально работать в «безмониторной» сессии (приведу пример: если с компьютера-1 через RDP зайти на компьютер-2, запустить в удалённой сессии на нём TeamViewer и поделиться экраном с компьютером-3, то после закрытия RDP-клиента на компьютере-1 человек у человека на компьютере-3 перестаёт работать удалённое управление, хотя после закрытия RDP-клиента сессия на компьютере-2 не терминируется и все программы продолжают работать).
- Высокая стабильность и отсутствие багов. Это одна из причин, почему я создаю топик тут, а не просто иду гуглить. Я хочу услышать от настоящего живого человека заверение в стиле «я вот этой штукой пользовался — всё было гладко, стабильно, остался доволен». Инструмент, в котором постоянно находят баги, даже если их правят в тот же день, вряд ли подойдёт, ибо инструмент будет закатан в образ виртуальной машины, из которого виртуальная машина будет потом разворачиваться, и каждый раз переделывать и реаплоадить образ ВМ — крайне нежелательно.
- Очень желательно, чтобы это было freeware или shareware с триальным периодом.
Применение: автоматизация действий в рамках автоматизированного тестирования ПО.