Автоматизация пользовательского интерфейса на платформе Windows 7

#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

http://blogs.msdn.com/b/winuiautomation/archive/2011/05/18/building-ui-automation-client-applications-in-c-and-c.aspx

Форум по доступности и автоматизации 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 /