вторник, 9 апреля 2019 г.

AutoIt: автоматизация работы с интерфейсом Windows программ

AutoIt — это бесплатное приложение для автоматизации работы с Windows UI. Его можно использовать для имитации действий пользователя в ОС Windows, открытия и закрытия окон, перемещения мыши, нажатия кнопок клавиатуры и мыши, получения статусов элементов окон, открытия программ и управления ими. 

Инженеры по автоматизации и тестировщики могут применять AutoIt для: 
  1. UI-тестов windows-приложений.
  2. Простейшей автоматизации действий: очистки места, открытия и закрытия служебных программ, действий в них, автоматизации пользовательских сценариев, требующих ввода при помощи мыши или с клавиатуры.
  3. Автоматизации деплоя на тестовые стенды инсталляторов продуктов, имеющих windows UI, и полноценной установки windows-приложений через UI.

Установка

Нужно скачать инсталлятор последней версии и установить его, следуя подсказкам.



После установки в меню Windows вам станут доступны: IDE SciTE Script Editor и конвертер Compile Script to .exe (чтобы преобразовывать обычные текстовые скрипты .au3 в исполняемые бинарники .exe, которые можно распространять без необходимости установки AutoIt). Кроме того, будет установлен инструмент AutoIt Window Info, который позволит вам получить любую информацию по элементам приложений, запущенных в Windows.

Примеры использования

В интернете существует множество примеров использования AutoIt. Методы хорошо описаны даже в русской доке. Приведу только один простой пример скрипта для автоматизации работы с блокнотом. Достаточно набрать и сохранить скрипт в SciTE Script Editor, а затем запустить его кнопкой F5 или через меню:



При исполнении скрипта запустится Блокнот, в окне которого будет набрана одна строчка текста и при закрытии будет предложено его сохранить:



Примечание: Более сложная работа с приложениями и их элементами выполняется с использованием hWnd. Его можно получить используя, например, метод $hWnd = ProcessExists("ИМЯ_ПРОЦЕССА") и далее подставлять в другие методы, требующие hWnd при обращении к элементу.

AutoIt Window Info

Инструмент AutoIt Window Info позволяет узнавать информацию об элементах приложений. Например, на скриншоте выше всю информацию по диалоговому окну можно было получить, воспользовавшись функцией AutoIt Window Info - Finder Tool:


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