在Windows 7平台上自动实现UI
我是C++应用程序开发的初学者。我使用Visual Studio,并且我有一个应用程序可以像Photoshop那样处理图像。我希望自动化我的应用程序的用户界面,并通过保存处理后的文件自动测试各种情况。我在我的Win 7机器上使用Visual Studio进行开发,没有.NET。我有什么选择使我的测试自动化?在Windows 7平台上自动实现UI
谢谢
在Windows 7(和Vista/XP,如果您安装更新),您可以使用基于COM的Microsoft UI自动化API用C++编写UI自动化客户端。
我已经用这种方式成功地自动化了Windows应用程序的UI。它工作的很好,只需要一点额外的工作就可以从基于C语言的脚本语言解释器(例如Python和Ruby)中调用。
在UIA COM API上查找文档可能有点棘手,因为对“MS UI自动化”的搜索通常会在.NET界面上而不是在COM界面上显示信息(COM界面更新且不尽如人意 - 已知的)。
由于Boann提到你也可以使用第三方库,比如AutoIt。这可以缓解一些学习曲线和额外的工作。 AutoIt公开了自己的COM接口(AutoItX),您可以从C++应用程序中使用它。
如果你想了解在C++编写COM UIA应用这里有一些链接上手:
的UI自动化客户端程序员在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=vs.85).aspx
一对夫妇的帮助信息的示例代码:
http://www.code-magazine.com/articleprint.aspx?quickid=0810052&printmode=true
Windows辅助和自动化论坛:
http://social.msdn.microsoft.com/Forums/en-US/windowsaccessibilityandautomation/threads
一种名为AutoIt Script的语言是专门为Windows UI自动化而设计的。可悲的是它是一种基本类而不是C语言,但它的确如此: http://www.autoitscript.com/site/autoit/