#user-interface #ui-automation
#пользовательский интерфейс #пользовательский интерфейс-автоматизация
Вопрос:
Я новичок в разработке приложений на C . Я использую Visual Studio, и у меня есть приложение, которое обрабатывает изображение, как это делает Photoshop. Я хочу автоматизировать пользовательский интерфейс моего приложения и автоматически тестировать различные сценарии, сохраняя обработанные файлы. Я использую Visual Studio на своем компьютере с Win 7 для разработки, у меня нет .NET. Какие варианты у меня есть для автоматизации тестирования?
Спасибо
Ответ №1:
В Windows 7 (и Vista / XP, если вы установите обновление) вы можете использовать COM-интерфейс Microsoft UI Automation API для написания клиентов автоматизации пользовательского интерфейса на C .
Я успешно автоматизировал пользовательский интерфейс приложений Windows таким образом. Он работает довольно хорошо, и с небольшой дополнительной работой его можно даже вызвать из интерпретаторов языка сценариев на основе C, которые понимают COM (например, Python и Ruby).
Поиск документации по API UIA COM может быть немного сложным, поскольку при поиске «Автоматизация MS UI» обычно появляется информация о.СЕТЕВОЙ интерфейс, а не интерфейс COM (интерфейс COM намного новее и не так хорошо известен).
Как упоминает Боанн, вы также можете использовать сторонние библиотеки, такие как AutoIt. Это может облегчить процесс обучения и дополнительную работу. AutoIt предоставляет свой собственный COM-интерфейс (AutoItX), который вы, вероятно, можете использовать из приложения на C .
Если вы хотите прочитать о написании приложений COM UIA на C , вот несколько ссылок для начала:
Руководство программиста клиента автоматизации пользовательского интерфейса по MSDN:
http://msdn.microsoft.com/en-us/library/ee684021 (v= VS.85).aspx
http://msdn.microsoft.com/en-us/library/ee671216 (v= VS.85).aspx
Интерфейс IUIAutomation:
http://msdn.microsoft.com/en-us/library/windows/desktop/ee671406 (v= против 85).aspx
Пара полезных статей с примерами кода:
http://www.code-magazine.com/articleprint.aspx?quickid=0810052amp;printmode=true
Форум по доступности и автоматизации Windows:
http://social.msdn.microsoft.com/Forums/en-US/windowsaccessibilityandautomation/threads
Комментарии:
1. простите, что поднимаю старый вопрос,,..@BillAgee, но как насчет WinAppDriver, который поддерживается при использовании Windows 7? я планирую автоматизировать приложение Anydesk / Teamviewer в среде Windows.
Ответ №2:
Язык, называемый AutoIt Script, разработан специально для автоматизации пользовательского интерфейса Windows. К сожалению, это базовый, а не Си-подобный язык, но он делает то, что говорит хорошо: http://www.autoitscript.com/site/autoit /