Автоматизация тестирования. Заметка об AutoHotKey
AutoHotKey — не очень известная, но очень полезная утилита, позволяющая автоматизировать тестирование GUI—приложений. Как говорят классики, «это действительно очень таинственная программа для автоматизации тестирования», и уж точно более таинственная, чем SilkTest :)
И в самом деле, большинство украинских компаний используют дорогие, тяжеловесные и престижные продукты Rational, Mercury или Borland, в то время как бесплатный, компактный и open-source AutoHotKey не попадает в поле зрения украинских test automation инженеров.
Цель этой заметки — восполнить этот пробел и кратко рассказать об основных возможностях программы и сфере ее использования.
Для чего можно использовать AutoHotKey?
В пользовательской документации к продукту AutoHotKey описывается как программа, «способная автоматизировать любые действия пользователя, имитируя нажатия клавиш и кнопки мыши». И хотя разработчики AutoHotKey не позиционируют продукт как инструмент для автотестирования, многие пользователи используют AutoHotKey именно для этих целей.
Благодаря такому подходу AutoHotKey не имеет полнофункциональной IDE—оболочки и специализированных библиотек или компонент (например для работы с тест—планами и наборами тестов), но это компенсируется богатыми возможностями продукта и легкостью в использовании и настройке.
AutoHotKey состоит из нескольких компонентов:
- Интерпрератор — AutoHotKey.ехе, который принимает на вход AHK—скрипт и исполняет его.
- Генератор скриптов — позволяет автоматически генерировать AHK—скрипт, записывая сообщения от клавиатуры и мыши.
- Компилятор — преобразует AHK—скрипт в исполняемый EXE файл, который не требует установленного AutoHotKey и может исполняться на любой Windows системе.
- AutoHotKey Windows Spy — отображает скрытые характеристики UI элементов.
Для целей автотестирования, наиболее часто используются следующие функции языка AutoHotKey:
- Работа с окнами и любыми элементами пользовательского интерфейса.
- Обработка сообщений мыши и клавиатуры.
- Файловые операции.
- Запуск, остановка и проверка процессов.
- Операции с графическими изображениями.
- Функции для обработки строк, для работы с реестром, переменными окружения, буфером обмена, постановка команд в Windows очередь сообщений, математические команды и т. д.
Если какая-либо нужная функциональность отсутствует, есть возможность вызывать функции из DLL — как стандартные Windows API функции, так и написанные вами. Еще один способ дополнить базовую функциональность — скачать С++ исходники и написать собственный вариант AutoHotKey.
Тестируем калькулятор
В качестве демонстрации работы AutoHotKey напишем скрипт, который запускает калькулятор, делит 9 на 2 и закрывает окно калькулятора. Текст скрипта с комментариями приведен ниже.
;декларируем и инициализируем общие переменные
application :="calc.exe"
workingDir := "C:\\WINDOWS\\system32"
process_id = 0
window_title := "Calculator"
figure1 = 9
figure2 = 2
operation := "/"
; cтартуем калькулятор
Run, %application%, %workingDir%, UseErrorLevel, process_id
Sleep, 1000 ;подождать 1 секунду
; активируем окно
WinWaitActive, %window_title%,,2
; мышкой нажимаем кнопку с текстом %figure1% в активном окне
ControlGetPos, X, Y,,, %figure1%
MouseClick, left, X, Y
; смотрим на окно калькулятора
Sleep, 3000
;эмулируем нажатие клавиши мыши на кнопке с текстом %operation% в окне %window_title%
ControlClick, %operation%, %window_title%
; эмулируем нажатие клавиши %figure2% на клавиатуре, сообщение отсылается окну с %window_title%
ControlSend, , %figure2%, %window_title%
; смотрим на окно калькулятора
Sleep, 3000
; эмулируем нажатие клавиши = на клавиатуре. Событие отсылается активному окну
SendEvent, =
; любуемся результатом 5 сек
Sleep, 5000
; закрываем калькулятор "убивая" процесс
Process, Close, %process_id%
Чтобы запустить скрипт на вашем компьютере, необходимо установить AutoHotKey, записать приведенный выше пример в текстовый файл с расширением .ahk и запустить его двойным щелчком мыши.
Заключение
Несмотря на бесплатность, AutoHotKey поставляется с достаточно подробной документацией (на английском), где можно найти описание всех поддерживаемых команд и возможностей инструментов. Поддерживается форум, где можно задать вопрос опытным пользователям, найти дополнительные библиотеки, внести предложения по улучшению продукта.
AutoHotKey активно развивается, регулярно появляются новые версии (последняя вышла 28 августа 2007) и ищет новых пользователей и поклонников, в том числе и в Украине.
Все подробности об AutoHotKey можно найти на сайте продукта: www.autohotkey.com.
Все про українське ІТ в телеграмі — підписуйтеся на канал редакції DOU
21 коментар
Підписатись на коментаріВідписатись від коментарів Коментарі можуть залишати тільки користувачі з підтвердженими акаунтами.